保留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) + '%'

 

posted on 2014-12-09 10:27  清风暮雨  阅读(3327)  评论(0)    收藏  举报