decode
Содержание
DECODE
Версии сервера
0.9 | 1.0 | 1.5.3 | 1.5.4 | 1.5.5 | 2.0 | 2.0.3 | 2.0.4 | 2.1 | 2.5 | 3.0 |
---|---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | - | Да | Да | ? |
Функция DECODE реализует краткую запись «простого» оператора CASE
Формат
DECODE ( <test-expr>, <expr>, result [, <expr>, result ...] [, defaultresult] )
Эквивалентная конструкция CASE:
CASE <test-expr> WHEN <expr> THEN result [WHEN <expr> THEN result ...] [ELSE defaultresult] END
Пример
Через DECODE
SELECT o.ID, o.Description, DECODE(o.STATUS, 1, 'confirmed', 2, 'in production', 3, 'ready', 4, 'shipped', 'unknown status ''' || o.STATUS || '''' ) FROM Orders o
Через CASE
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
См. также
Источник
decode.txt · Последнее изменение: 2012/03/14 15:08 (внешнее изменение)
Обсуждение
Вообще-то на оффсайте заявлено, что эта функция добавлена начиная с версии 2.1
вот: http://www.firebirdsql.org/refdocs/langrefupd21-intfunc-decode.html