nec*_*666 0 sql t-sql sql-server string date
我有以下选择语句:
SELECT IIF(DateFirstSeen IS NOT NULL, DateFirstSeen, 'Not Seen') as [Date First Seen]
Run Code Online (Sandbox Code Playgroud)
但是当我运行这个时,我收到错误:
Conversion failed when converting character string to smalldatetime data type
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
IIF()当您混合日期和字符串时, 的两个分支必须返回相同的数据类型。
考虑先将日期转换为字符串,例如:
COALESCE(CONVERT(varchar, DateFirstSeen, 23), 'Not Seen')
Run Code Online (Sandbox Code Playgroud)
请注意,在处理nulls 时,COALESCE()与 相比缩短了逻辑IIF()。