DECIMAL(9,6)`というカラムがあります。すなわち、999,123456のような値をサポートしています。
しかし、123,4567のようなデータを挿入すると123,456700になります。
これらのゼロを削除するにはどうすればよいでしょうか?
decimal(9,6)`は、コンマの右側に6桁の数字を格納します。 末尾のゼロを表示するかどうかは、フォーマット上の判断で、通常はクライアント側で実装されます。
しかし,SSMSはfloat
を末尾のゼロなしでフォーマットするので,decimal
をfloat
にキャストすることで末尾のゼロを取り除くことができます。
select
cast(123.4567 as DECIMAL(9,6))
, cast(cast(123.4567 as DECIMAL(9,6)) as float)
と表示されます。
123.456700 123,4567
(私の小数点セパレータはカンマですが、SSMSは小数点をドットでフォーマットします。 どうやら既知の問題のようです)。
SELECT REVERSE(ROUND(REVERSE(2.5500),1))
プリント:
2.55