0
Declare @ls_sql nchar(50)
Set @ls_sql='118,10028,10029'

Select * from Accounts Where Accid in(@ls_sql)

実行時のエラー

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

4

1 に答える 1

1

このエラーは、SQL サーバーが値(118,10028,10029)の代わりに期待するために発生しvarcharます。'118,10028,10029'そのため、INT データ型に変換しようとします。T-SQL では、このように IN 演算子を使用することはできません。

使ってみて

Select * from Accounts 
Where ','+@ls_sql+',' LIKE '%,'+cast(Accid as VARCHAR(100))+',%'
于 2013-08-14T11:06:12.447 に答える