考虑以下:
SELECT [DOB] = CASE WHEN [DOB] = '-' then 'invalid date' ELSE cast([DOB] as datetime)
END
FROM myTable where myID = 73351
时DOB = '-'
,我收到错误消息:
从字符串转换日期时间时转换失败。
这似乎表明 SQL Server 尝试将 DOB 转换为datetime
尽管它应该只打印的事实'invalid date'
。
'invalid date'
然而考虑一下当 时正确返回的这个DOB = '-'
。
SELECT [DOB] = CASE WHEN [DOB] = '-' then 'invalid date' ELSE 'valid date'
END
FROM myTable where myID = 73351
我怎样才能让第一条语句在什么'invalid date'
时候返回DOB = '-'
?