我有一个NVARCHAR
格式的字段。它有时会有一个date
,具体取决于另一个字段的格式。
我正在尝试convert
它到datetime
字段,如果它旁边的字段='DAT'。所以我的陈述是
SELECT XV_Type, CASE XV_Type='DAT' THEN
CONVERT(NVARCHAR,CONVERT(DATETIME,XV_Data),105)
ELSE XV_Data END
FROM MyTable
我将aNVARCHAR转换为DATETIME时出错,但它不会告诉我原因.... :(
答案 0 :(得分:1)
您只需将代码修改为:
SELECT XV_Type, CASE WHEN XV_Type='DAT' THEN XV_Data
ELSE CONVERT(NVARCHAR,CONVERT(DATETIME,XV_Data),105) END
FROM MyTable
不要指望sql将'DAT'字符串转换为DATE。