SQL:when-then语句中的text和datetime类型

时间:2014-02-18 19:20:11

标签: sql-server datetime

我有这个

 case 
  when var1 is null then 'Some text'
  when var1 is not null then var2
 end AS [Some_Name],

var1是一个整数,var2是一个日期时间然后我有这个错误:“从字符串转换日期和/或tiem时转换失败。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

 case 
  when var1 is null     then 'Some text'
  when var1 is not null then  CONVERT(VARCHAR(10), var2, 105)
 end AS [Some_Name]

在case语句中,如果返回类型应该相同。只需将datetime转换为varchar数据类型。如果您不进行显式强制转换,则SQL Server将尝试使用数据类型优先级中定义的规则执行隐式案例:BOL

要以所需格式设置日期时间变量的格式,请参阅此处Sql Server Datetime Formats