Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我对 SQL 很陌生,主要使用 Excel,我使用的是 Oracle BI,需要添加一个执行以下操作的列。
=IF(A1="EG123456",B1,"")
我已经走到这一步了。
CASE WHEN "table1"."clientnumber" = 'EG123456' THEN "table1"."BookingID" ELSE '' END
它接受公式,但是当我查看结果时,它显示“查看显示错误”
BookingID 可能是 CHAR/VARCHAR 以外的类型;例如,也许它是一个数字字段?来自 CASE 的所有可能返回必须是兼容类型。
可以使用ELSE NULL代替ELSE ''吗? NULL将与所有类型兼容,并且会显示为“空白”;但根据您进一步处理结果的方式,您可能需要注意处理 NULL 值的“奇怪”规则。
ELSE NULL
ELSE ''
NULL
另一种选择可能是将 BookingID 转换为 CHAR 类型。例如,如果你知道它永远不会超过 20 个字符,你可以说THEN CAST(BookingID AS CHAR(20))
THEN CAST(BookingID AS CHAR(20))