これはSQLServer2008にあります。
money
変換したい列と変換decimal
したい列がいくつかあります。varchar
たとえば、。という列item_amount
です。
これらの値はどのように変換されますか?
と同じ
convert(varchar, item_amount)
でしょうか?のようなクエリを実行select item_amount, convert(varchar, item_amount) from <table>
すると、列が同じようにレンダリングされます。これは、私が期待していることです。切り捨ての可能性から安全である必要がありますよね?
列に十分な文字があると仮定します(10進列の最大精度は38 +小数点の1文字であるため、
varchar
39になります)。いずれの数値も38桁に近くなく、ほとんどが3〜5の範囲です。私はこのコマンドをテストテーブルで正常に実行しましたが、私を台無しにする何かを見落としたり忘れたりしていないことを確認したいと思います:(
alter table <mytable> alter column item_amount varchar(39) default '0'
これは既存のデフォルト((0))制約を削除した後です)。