转换变量字符

时间:2015-02-03 15:01:02

标签: sql sql-server-2008

我在查询中使用此语句以使用WHEN / THEN语句获取空白结果,但不断收到以下错误消息:

“将varchar数据类型转换为日期时间数据类型会导致超出范围的值。”以下是声明:

CASE

WHEN (A.APRDAT+'-'+A.APRBAT)= 01/01/1800
THEN ' '
ELSE
Convert(NVARchar(20),A.APRDAT)+'-'+Convert(NVARchar(20),A.APRBAT)   

END AS AUTH_ID,

我可以获得一些帮助,使其成为设计工作......谢谢

1 个答案:

答案 0 :(得分:0)

日期文字必须使用单引号,并且您需要CONVERT字符串结果:

WHEN CONVERT(DATETIME,A.APRDAT+'-'+A.APRBAT) = '01/01/1800'
THEN ' '
ELSE
Convert(NVARchar(20),A.APRDAT)+'-'+Convert(NVARchar(20),A.APRBAT)