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

varchar 値 'abc' をデータ型 int に変換するときに変換に失敗しました。

4

3 に答える 3

5

から返される値はcase同じ型でなければなりません。

select case  when datepart (mm,getdate())>3 then 'abc' else '2' end
于 2013-07-10T11:46:57.107 に答える
2

これを試して;

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

からCASE (Transact-SQL)

else_result_expression とすべての result_expression のデータ型は同じであるか、暗黙の変換である必要があります。

于 2013-07-10T11:48:03.343 に答える
1

このようにする必要があります

select case  when datepart (mm,getdate())>3 then 'abc' else '2' end
于 2013-07-10T11:47:41.063 に答える