このようなエラーを回避するには、CASE
を使用できます。 + ISNUMERIC
intに変換できないシナリオを処理するため。
変更
CONVERT(INT, CONVERT(VARCHAR(12), a.value))
CONVERT(INT,
CASE
WHEN IsNumeric(CONVERT(VARCHAR(12), a.value)) = 1 THEN CONVERT(VARCHAR(12),a.value)
ELSE 0 END)
基本的に、これは、私をintに変換できない場合は値0を割り当てます(私の例では)
または、a.value
かどうかをチェックするカスタム関数の作成に関するこの記事をご覧ください。 番号です:http://www.tek-tips.com/faqs.cfm?fid =6423