select case when datepart (mm,getdate())>3 then 'abc' else 2 end
将 varchar 值“abc”转换为数据类型 int 时转换失败。
select case when datepart (mm,getdate())>3 then 'abc' else 2 end
将 varchar 值“abc”转换为数据类型 int 时转换失败。
您返回的值case
必须是相同的类型。
select case when datepart (mm,getdate())>3 then 'abc' else '2' end
尝试这个;
select CASE WHEN
datepart (mm,getdate())>3 then 'abc' else '2'
END
else_result_expression 和任何 result_expression 的数据类型必须相同或者必须是隐式转换。
应该是这样的
select case when datepart (mm,getdate())>3 then 'abc' else '2' end