DECODE

Версии сервера

0.91.01.5.31.5.41.5.52.02.0.32.0.42.12.53.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

См. также

CASE

Источник

Обсуждение