2016-08-04 4 views
0

xmlファイルを作成するストアドプロシージャがあります。私はそれを実行すると、私はSSMSでのクエリウィンドウに同じコードを入れて、それを実行した場合ストアドプロシージャにエラーがありますが、手動で実行するとエラーは発生しません。

をintに「ここにいくつかのテキストを」varchar型の値を変換する際

変換が失敗したエラーを取得します、正常に動作します - エラーはありません。

誰かがなぜそのことが起こる可能性があると教えてもらえますか?このプロシージャはここにポストするのに十分な長さですが、主に、たくさんのユニオンとジョインを持つ大きな選択です。

ありがとうございました!

+0

あなたの文字列は有効な数字ではないようです – lordkain

+0

実際、そうではありません。しかし、手動で実行するとエラーが発生しないのはなぜですか? – user6678202

+0

エラーメッセージはかなり明確です。あなたは明らかに文字列を使用しており、数値のように扱っています。ほとんどの場合、暗黙の変換です。おそらくあなたが手続きを分かち合うことができれば、私たちは助けてくれるかもしれません。今のところ座っているので誰も助けることはできません。 –

答えて

0

結合の列のいずれかに、varcharと整数を比較していて、少なくとも1つのvarchar値が整数ではありません。

したがって、次のテストしてみてください:

select * 
    from table 
    where myCol NOT LIKE '%[^0-9]%' 

、おそらく

select * 
    from table 
    where CONVERT (bigint, myCol) NOT BETWEEN -2147483648 AND 2147483647 

は木を振ると落ちるものを参照してください。

関連する問題