将NVARCHAR转换为datetime保持失败

时间:2015-08-05 06:12:24

标签: sql

我有一个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时出错,但它不会告诉我原因.... :(

1 个答案:

答案 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。