倍精度型の列があり、この列からnumeric(19,2)型の別の列に値をコピーしたいと思います。
私がselect CONVERT( numeric(19,2), PriceNettoTmp) from Tableするときそれは働きますが、私がするときupdate Table set PriceNetto = CONVERT( numeric(19,2), PriceNettoTmp)それはしません。
updateSquirrel SQLで実行する場合のエラーメッセージ:
列-1の書き込みでデータ切り捨てエラーが発生しました。データの長さは-1バイトで、-1バイトが転送されました。
updateSybase 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んが。そして、私よりも簡単な解決策はありますか?