クエリに問題がありますか?私が変換しようとしていますint
varchar
に:変換の問題が発生する理由
DELETE FROM CM_OfflineMessages
WHERE CONVERT(INT, CONVERT(VARCHAR(MAX), ID)) IN ('1,2,3')
は、私はこのエラーを取得する:
Conversion failed when converting the varchar value '1,2,3' to data type int.
編集:私は、クエリ
[dbo].[CM_DeleteOfflineMessageByID] (@ID AS VARCHAR(MAX))
DELETE FROM CM_OfflineMessages
WHERE CONVERT(VARCHAR(MAX), ID) IN (@ID)
しかしなしのコンパイルに編集した
データはパージされません。あなたはvarchar型にint
を変換し、バックしようとしている
exec [dbo].[CM_DeleteOfflineMessageByID] @ID = N'''10'',''11'',''12'''
あなたはINTへの変換されています。CONVERT(INT、 ..) – Serg
あなたは 'どこのID(1,2,3)'を意味していませんでしたか? – Serg
ここで問題となっているのは引用符です。IDが文字列 '1,2,3'と比較しようとしていますが、それは間違っています。引用符を削除しても動作します。 –