Главная страница
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.48 MB
Время: 0.043 c
10-1124082080
safo
2005-08-15 09:01
2006.10.15
Проблема с файлом Excel


2-1159195466
vyper
2006-09-25 18:44
2006.10.15
Как убить процесс


15-1158739787
TUser
2006-09-20 12:09
2006.10.15
Из правил пользования компьютерным классом


1-1157572502
dexer
2006-09-06 23:55
2006.10.15
Создание формы в нутри объекта


15-1159161179
нужна помощь
2006-09-25 09:12
2006.10.15
добавление большого текста