倍精度型の列があり、この列からnumeric(19,2)型の別の列に値をコピーしたいと思います。
私がselect CONVERT( numeric(19,2), PriceNettoTmp) from Table
するときそれは働きますが、私がするときupdate Table set PriceNetto = CONVERT( numeric(19,2), PriceNettoTmp)
それはしません。
update
Squirrel SQLで実行する場合のエラーメッセージ:
列-1の書き込みでデータ切り捨てエラーが発生しました。データの長さは-1バイトで、-1バイトが転送されました。
update
Sybase Centralで実行する場合のエラーメッセージ:
ステートメントを実行できませんでした。FLOATNULL値「10,449999999999999.0」をNUMERICフィールドに明示的に変換する際の算術オーバーフロー。Sybaseエラーコード=247重大度=16、状態= 1、トランザクション状態=0行1
誰が何が間違っているのか知っていますか?
編集
私はうまくいく解決策を見つけました:update Table set PriceNetto = CONVERT( numeric(19,2), str_replace(str(PriceNettoTmp,19,2),',','.'))
select
なぜ機能していたのか、機能しなかったのかはまだわかりませupdate
んが。そして、私よりも簡単な解決策はありますか?