用Postgres中的其他值列表替换多个值

时间:2015-11-18 17:42:19

标签: sql postgresql replace

如何在Postgres中替换多个值?我需要做以下事情:

In column C
Case current value = x then replace by a
else if current value is y then replace by b
else if current value is z then replace by c...

2 个答案:

答案 0 :(得分:1)

使用CASE WHEN

UPDATE table_name
SET column_name =
      CASE WHEN column_name = 'x' THEN 'a'
           WHEN column_name = 'y' THEN 'b'
           WHEN column_name = 'z' THEN 'c'
           ...
           ELSE column_name                 -- default
     END
-- WHERE id = ?

change only specific parts of AssemblyVersion attribute

答案 1 :(得分:1)

如果您正在使用文本(或可以转换为文本的内容),您可以尝试翻译功能。

  

翻译(字符串文本,从文本到文本)文本:

     

字符串中与from集中的字符匹配的任何字符都是   替换为要设置的相应字符。如果来自   比起来更长,来自的额外字符的出现   除去。翻译(' 12345',' 143',' ax')a2x5`