Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: CL | DM;

Вниз

Interbase. Как в select запрос вставить выбор (if или case)?   Найти похожие ветки 

 
novill ©   (2006-08-18 17:03) [0]

Select if F1>100 then "больше" else "меньше" from table1

Подскажите синтаксис. Не могу найти описания в описании (language reference).

Приведенный пример выдает ошибку, что не знает слова if.


 
Desdechado ©   (2006-08-18 17:39) [1]

В описании FB есть это.
Только в ReleaseNotes читать надо.


 
PEAKTOP ©   (2006-08-18 17:43) [2]

Оригинальная документация:
=====================================================================
SQL Language Extension: CASE

Function:
   Allow the result of a column to be determined by a the results of a
   case expression.

Author:
   Arno Brinkman <firebird@abvisie.nl>

Format:
 <case expression> ::=
     <case abbreviation>
   | <case specification>

 <case abbreviation> ::=
     NULLIF <left paren> <value expression> <comma> <value expression> <right paren>
   | COALESCE <left paren> <value expression> { <comma> <value expression> }... <right paren>

 <case specification> ::=
     <simple case>
   | <searched case>

 <simple case> ::=
   CASE <value expression>
     <simple when clause>...
     [ <else clause> ]
   END

 <searched case> ::=
   CASE
     <searched when clause>...
     [ <else clause> ]
   END

 <simple when clause> ::= WHEN <when operand> THEN <result>

 <searched when clause> ::= WHEN <search condition> THEN <result>

 <when operand> ::= <value expression>

 <else clause> ::= ELSE <result>

 <result> ::=
     <result expression>
   | NULL

 <result expression> ::= <value expression>

Notes:
   See also README.data_type_results_of_aggregations.txt

Examples:

A) (simple)
 SELECT
   o.ID,
   o.Description,
   CASE o.Status
     WHEN 1 THEN "confirmed"
     WHEN 2 THEN "in production"
     WHEN 3 THEN "ready"
     WHEN 4 THEN "shipped"
     ELSE "unknown status """ || o.Status || """"
   END
 FROM
   Orders o

B) (searched)
 SELECT
   o.ID,
   o.Description,
   CASE
     WHEN (o.Status IS NULL) THEN "new"
     WHEN (o.Status = 1) THEN "confirmed"
     WHEN (o.Status = 3) THEN "in production"
     WHEN (o.Status = 4) THEN "ready"
     WHEN (o.Status = 5) THEN "shipped"
     ELSE "unknown status """ || o.Status || """"
   END
 FROM
   Orders o


 
PEAKTOP ©   (2006-08-18 17:49) [3]

Сорри, предыдущий пост оффтоп. У тебя Интербаза, на ней наверное не прокатит.
Все выше перечисленное начал использовать с версии Firebird v1.5.3.4870.


 
Dok   (2006-08-19 10:27) [4]

Использовать ХП



Страницы: 1 вся ветка

Текущий архив: 2006.10.15;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.058 c
2-1159274945
gosha67
2006-09-26 16:49
2006.10.15
Почему функция возвращает данные, которые ей недоступны


2-1159244988
tlv
2006-09-26 08:29
2006.10.15
MediaPlayer - не запускается на компьютере без Delphi


15-1158901991
vidiv
2006-09-22 09:13
2006.10.15
для чего у IE параметр value в <button>???


3-1155627561
Death
2006-08-15 11:39
2006.10.15
Создание индексов в THalcyonDataSet


2-1159491560
Maveric AM10m
2006-09-29 04:59
2006.10.15
IRC клиент





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский