将小数存储为varchar
。
我有一个值为0.0375000
的列。我需要将其转换为0.0375。
当我做的时候
convert(decimal(8, 7), substring(column, 0, 1) + '.' + substring(column, 2, 8)))
我的结果为0.0375000。
我想删除所有尾随零,我想要的结果是0.0375
我该怎么做?
答案 0 :(得分:2)
如果你只需要4位小数,你需要小数5,4(假设你的小数点左边的数字适合1位数,如果你需要2位数,那么选择小数(6,4))< / p>
select convert(decimal(5,4), substring(column,0,1)+'.' +substring(column,2,8) )
十进制数据类型https://msdn.microsoft.com/en-gb/library/ms187746.aspx
答案 1 :(得分:1)
如果2012 +##表示可选显示
Select format(0.0375000,'0.######') Returns 0.0375
Select format(0.037502,'0.######') Returns 0.037502
抱歉没有看到存储为varchar()
Select format(cast(somecolumn as decimal(18,8)),'0.######')
答案 2 :(得分:0)
--SQL Code for easy removing trailing zeros.
select CONVERT(DOUBLE PRECISION,'2.256000')
-结果将为 2.256