保留2位小数的关键是字段类型要转成浮点数字段类型,如果光用方法:
CONVERT(DECIMAL(10,2),(1/7))
查出来的结果是0.00,而正确的结果是14.29
解决方法1:
在2个字段前面乘以100.0,注意是100.0不是100,例如:
CONVERT(DECIMAL(10,2),(100.0*1/7))
解决方法2:
把被除字段转成浮点数字段类型,例如:
取巧方法:
CONVERT(DECIMAL(10,2),(100.0*1/(7*1.0))) 这种方法比较取巧,在被除字段乘以1.0
正规的方法:
CONVERT(DECIMAL(10,2),(100*1/CONVERT(FLOAT,7)))
如果你想再后面+“%”符号,可以这样:
CAST(CONVERT(DECIMAL(10,2),(100*1/CONVERT(FLOAT,7))) AS varchar) + '%'
浙公网安备 33010602011771号