Форум: "Базы";
Текущий архив: 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