我有一个问题,当我运行以下查询时,我得到“PercentageDifference”为99.253731343283500所有我真正想要显示的是99.25但没有数量摆弄似乎让它更低或导致错误:
select PlannedMonthName
, CountOfPlannedVisits
, CountOfPlannedVisitsClosed
, CONVERT( DECIMAL(12,2), nullif(CountOfPlannedVisitsClosed, 0) )
/ CONVERT( DECIMAL(12,2), nullif(CountOfPlannedVisits, 0) )
* 100 AS PercentageDifference
答案 0 :(得分:1)
您可以使用round
功能,如下所示:
select PlannedMonthName
, CountOfPlannedVisits
, CountOfPlannedVisitsClosed
, round( ( CONVERT( DECIMAL(12,2), nullif(CountOfPlannedVisitsClosed, 0) )
/ CONVERT( DECIMAL(12,2), nullif(CountOfPlannedVisits, 0) )
* 100
), 2) AS PercentageDifference
也可以使用TRUNCATE(X,D):
返回数字X,截断为D小数位。如果D为0,则结果没有小数点或小数部分。 D可以为负,使得值X的小数点左边的D位变为零。
答案 1 :(得分:0)
查看FORMAT
功能。它将数字转换为小数点后具有固定位数的字符串:http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_format