考虑以下:
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 = '-'?