翻译字符串postgres
问题描述:
我想翻译2种类型的数据只使用postgres SQL我有一个可能包含数据类型的“类型”列。翻译字符串postgres
类型为字符串列,当我展示了很多其他的列表联接我想只显示“A”或“O可能有“实际的”或“旧”值
+-type-+
+ACTUAL+
+OLD +
+------+
“值 我无法找到其他的方式来做到这一点比:
SELECT replace(replace(mytable.type, 'ACTUAL', 'A'),'OLD', 'O');
有了,我可以替换的文字,我需要的方式, 但使用数组作为参数,我一直在寻找一些更多的功能。
就像一个交叉引用简单的功能:
translate(['ACTUAL','OLD'], ['A','O'])
有谁知道一个办法做到这一点不使用SQL视图既不需要另一个表像与其他表加入这个值的结果?
由于提前, 安德烈
答
我会使用类似CASE
...
SELECT
(CASE type
WHEN 'ACTUAL' THEN 'A'
WHEN 'OTHER' THEN 'O'
ELSE '?' END)
FROM
使用这种方法,你可以返回基于任何你想要的标准,没有任何你想要的只是分-stringing。