我是SQL的新手,主要使用Excel,我使用的是Oracle BI,需要添加一个执行以下操作的列。
=IF(A1="EG123456",B1,"")
我已经走到了这一步。
CASE WHEN "table1"."clientnumber" = 'EG123456'
THEN "table1"."BookingID"
ELSE ''
END
它接受公式,但当我去查看结果时,它显示“查看显示错误”
答案 0 :(得分:0)
似乎BookingID可能是CHAR / VARCHAR以外的类型;例如,它可能是一个数字字段?所有可能的返回形式CASE必须是兼容类型。
使用ELSE NULL
代替ELSE ''
会有用吗? NULL
将与所有类型兼容,并且会被视为“空白”;但是根据你如何进一步处理结果,你可能需要注意处理NULL值的“奇怪”规则。
另一个选项可能是将BookingID转换为CHAR类型。例如,如果你知道它不超过20个字符,你可以说THEN CAST(BookingID AS CHAR(20))