SQL Server中的Datepart函数错误

时间:2013-07-10 11:45:34

标签: c#

select case  when datepart (mm,getdate())>3 then 'abc' else 2 end
  

将varchar值'abc'转换为数据类型时转换失败   中间体

3 个答案:

答案 0 :(得分:5)

case返回的值必须是同一类型。

select case  when datepart (mm,getdate())>3 then 'abc' else '2' end

答案 1 :(得分:2)

试试这个;

select CASE WHEN
       datepart (mm,getdate())>3 then 'abc' else '2'
       END

来自CASE (Transact-SQL)

  

else_result_expression和任何result_expression的数据类型   必须是相同的或必须是隐式转换。

答案 2 :(得分:1)

应该是这样的

select case  when datepart (mm,getdate())>3 then 'abc' else '2' end