百分比后仅显示2个数字

时间:2013-08-22 17:16:46

标签: mysql sql

我有一个问题,当我运行以下查询时,我得到“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

2 个答案:

答案 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