декодирование в oracle преобразование в postgres

#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)