Нет эквивалента функции декодирования Oracle В Postgres.Is есть кто-нибудь, кто написал декодирование как функцию?
Декодировать эквивалент в postgres
Ответ 1
Существует эквивалент. Он назывался CASE
.
Существуют две формы CASE:
Простой CASE:
CASE search-expression
WHEN expression [, expression [ ... ]] THEN
statements
[ WHEN expression [, expression [ ... ]] THEN
statements
... ]
[ ELSE
statements ]
END CASE;
Искал CASE:
CASE
WHEN boolean-expression THEN
statements
[ WHEN boolean-expression THEN
statements
... ]
[ ELSE
statements ]
END CASE;
CASE
утверждения легче читать; Я предпочитаю их в decode()
в Oracle.
Ответ 2
Если вы привыкли к определенным функциям Oracle, вы можете установить расширение PostgreSQL orafce
.
Среди других специальных функций Oracle orafce
также реализует DECODE
- тот, который вы ищете.
Если вы работаете на Ubuntu, вам просто нужно установить пакет postgresql-9.1-orafce
, чтобы сделать orafce
доступным на вашем сервере PostgreSQL.