5Mレコードを含むSASデータセットからのデータがロードされたステージングテーブルがあります。すべての列はvarchar
です。いくつかの列をdecimal(32,10)
に変換しようとしています。しかし、エラーが発生します。私はキャストしようとしましたが、私は変換しようとしましたが、データを10進数の前後に分割しました - 同じ結果。VarcharからDecimal SQL Serverへの変換時のエラー
私は列のIsNumeric
フラグを見て、データが数値であることを意味する0レコード<を持っています。
case
when wtd_count = '.' THEN NULL
when wtd_count = '' THEN NULL
else convert(decimal(32, 10), wtd_count)
end
エラー:
Msg 8114, Level 16, State 5, Line 99
Error converting data type varchar to numeric.
だから、私は小数にデータを変換するために行うことができます他に何思ったんだけど?何か案が? ご協力いただければ幸いです。
それは10進数でなければなりませんか?ヴァル、ロングはいかがですか?値を数値にしたいと思っていますか? – Leptonator
明らかに、そのテーブルに10進数に変換できない値が少なくとも1つあります。 2012年以降の場合は、TRY_PARSE(https://msdn.microsoft.com/en-us/library/hh213126.aspx)をご覧ください。 –
ご回答ありがとうございます@Sean Lange。 SQL Server 11.0.x以降ではTry_Parseを使用できません。 – Bee