#sql #postgresql #oracle #database-migration
Вопрос:
Я хочу преобразовать функцию декодирования из oracle в команду postgres. пример команды oracle: выберите «декодировать» (стр. statusgeometry,1,»пройти»,»сбой») в качестве статуса
пожалуйста, помогите и рекомендации
Комментарии:
1. выберите (случай p.statusgeometry, когда 1, затем «передать», иначе «сбой» закончится) в качестве статуса
Ответ №1:
decode
Эквивалентом является CASE
:
WITH p (statusgeometry) AS (VALUES (1),(2))
SELECT
CASE statusgeometry
WHEN 1 THEN 'pass'
WHEN 2 THEN 'fail'
END,
-- The following syntax is useful in case you need to do "something"
-- with the columns depending on the condition, e.g lower(), upper(), etc..
CASE
WHEN statusgeometry = 1 THEN 'pass'
WHEN statusgeometry = 2 THEN 'fail'
END
FROM p;
case | case
------ ------
pass | pass
fail | fail
(2 rows)