POSTGRES IF语句失败
问题描述:
我是新来的条件语句postgres内。我有下面的语句SELECT IF status = 'L' THEN edate ELSEIF status = 'C' THEN 'wrong date' END IF as date FROM campaigns;
POSTGRES IF语句失败
但我得到一个错误
ERROR: syntax error at or near "status" at character 11
LINE 1: SELECT IF status = 'L' THEN edate ELSEIF status = 'C' THEN '...
我可以用它像这样还是我究竟做错了什么?
答
如果不是SQL语法的一部分,则无法工作。使用案例:
SELECT
CASE status
WHEN 'L' THEN edate
WHEN 'C' THEN 'wrong date'
END as date
FROM
campaigns;
Ps。如果“edate”类型为DATE或TIMESTAMP,则必须将此列转换为VARCHAR,因为“错误日期”不是DATE或TIMESTAMP。