Bir DECIMAL(9,6)
sütunum var, yani 999,123456 gibi değerleri destekliyor.
Ancak 123,4567 gibi bir veri eklediğimde 123,456700 oluyor
Bu sıfırlar nasıl kaldırılır?
Bir decimal(9,6)
virgülün sağ tarafında 6 rakam saklar. Sondaki sıfırların gösterilip gösterilmeyeceği, genellikle istemci tarafında uygulanan bir biçimlendirme kararıdır.
Ancak SSMS float
ı sondaki sıfırlar olmadan biçimlendirdiğinden, decimal
ı bir float
a dönüştürerek sondaki sıfırları kaldırabilirsiniz:
select
cast(123.4567 as DECIMAL(9,6))
, cast(cast(123.4567 as DECIMAL(9,6)) as float)
Baskılar:
123.456700 123,4567
(Benim ondalık ayırıcım virgül, ancak SSMS ondalıkları nokta ile biçimlendiriyor. Görünüşe göre bilinen bir sorun.
SELECT REVERSE(ROUND(REVERSE(2.5500),1))
prints:
2.55