Доступные версии документации

Замена значения

Функция

Замена значения в соответствии с правилом декодирования.

Спецификация
 
<вариант...>::=
<значение по умолчанию>::=
литерал
|{SYSDATE | NOW}
|{LOCALTIME | LOCALTIMESTAMP}
|CURRENT_DATE
|{CURRENT_TIME | CURRENT_TIMESTAMP}
|NULL
|USER
Общие правила
  1. Функция создана для совместимости с СУБД ORACLE. Эквивалентна конструкции СУБД ЛИНТЕР:

    CASE <значимое выражение> WHEN <вариант1> THEN <значение1>
    [...WHEN <вариантN> THEN <значениеN>]
    [ELSE <значение по умолчанию>] END
  2. Если <значение по умолчанию> не задано, используется NULL-значение.

  3. Аргументы могут быть заданы <SQL-параметром>, который должен содержать спецификацию типа данных параметра.

    select distinct decode(make, ? (char(20)), ? (char(20)), ? (char(20)), ?
     (char(20)), 'Прочие') from auto limit 5;
    FORD
    Форд
    MASERATI
    Мазерати
    |Мазерати            |
    |Прочие              |
    |Форд                |
Примеры
create table tab1(code int);
…
select * from tab1;
| 1    |
| NULL |
| 2    |
| 4    |
| 3    |
select decode( code, 1, 'Директор', 2, 'Маркетинг', 3, 'Бухгалтерия', 4, 'Программисты', null, 'Неизвестно')
from tab1;
| Директор     |
| Неизвестно   |
| Маркетинг    |
| Программисты |
| Бухгалтерия  |
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter