Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.041 c
6-1148201699
Мигель
2006-05-21 12:54
2006.10.15
Как скачать фото с сайта? Контент в виде HTML скачивается


15-1158778199
PHPDeveloper
2006-09-20 22:49
2006.10.15
ICQ клиент


1-1157044552
nali
2006-08-31 21:15
2006.10.15
Что вызывать Update или Invalidate?


6-1147845759
BanderLog
2006-05-17 10:02
2006.10.15
Использование TIdSync в Indy10


15-1159107170
MixAnOL
2006-09-24 18:12
2006.10.15
OLE сервер и JavaScript в IE





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский