我正在尝试进行查询,以防万一检测到一个数字,然后向我显示一个字符但不起作用。我的句子是:
SELECT xxxx
CASE
WHEN status=11 THEN 'OK'
WHEN status=33 THEN 'BAD'
ELSE status
END,
...............
它给我一个错误:
ERROR: invalid input syntax for integer: "OK"
怎么了?有什么帮助吗? 谢谢,对不起我的英语!
最佳答案
您需要转换为字符串。像这样:
(case when status = 11 then 'OK'
when status = 33 then 'BAD'
else status::text
end),
case
表达式返回具有指定类型的单个值。根据 SQL 规则,当您混合使用字符串和数字时,数字 是首选。
Postgres 可以轻松地将您想要的值转换为 else
子句中的字符串。
关于sql - 选择 case when number 然后在 postgresql 中选择 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57429974/