Главная страница
    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
Время: 2.01 c
2-1159368749
jjj
2006-09-27 18:52
2006.10.15
помогите с запросом на выборку (select)


2-1159273402
Stanislav
2006-09-26 16:23
2006.10.15
Рисовать в FastReport


2-1159698030
redlord
2006-10-01 14:20
2006.10.15
listbox выводить текст разным цветом


15-1158737267
Ega23
2006-09-20 11:27
2006.10.15
С Днём рождения! 20 сентября


15-1159191619
Megabyte
2006-09-25 17:40
2006.10.15
Форматирование из физической БД в диаграмму





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