[英]How to make a two decimal places on the result of a sql query?
这是我的代码。
SELECT SUM(receivables) AS [Trans-January],
(SELECT SUM(receivables)
FROM tbl_customerInfo
WHERE invalid = 'valid'
AND YEAR(currentDate) = '2017'
AND MONTH(currentDate) = '02'
AND paid = 1) AS [Coll-January],
(((SELECT SUM(receivables)
FROM tbl_customerInfo
WHERE invalid = 'valid'
AND YEAR(currentDate) = '2017'
AND MONTH(currentDate) = '02'
AND paid = 1) /
(SELECT SUM(receivables)
FROM tbl_customerInfo
WHERE invalid = 'valid'
AND YEAR(currentDate) = '2017'
AND MONTH(currentDate) = '02')) *100) AS [Coll - january]
FROM tbl_customerInfo
WHERE invalid = 'valid'
AND YEAR(currentDate) = '2017'
AND MONTH(currentDate) = '02'
我得到的结果
<table border = 1> <thead> <th>Trans - January</th> <th>Coll - January</th> <th>January %</th> </thead> <tbody> <tr> <td>598641.25</td> <td>6523.21</td> <td>1.089669313633165</td> </tr> </tbody> </table>
我如何使一月%列中的结果仅显示4个小数位? (xxxxx.xxxx)
另外,您可以帮助我改善代码吗? 我将从一月到十二月获得所有这三列。 简而言之,共有36列。
有多种方法可以简化此代码-但对于小数位-以下内容使用Format函数来获取4位小数位。 (您的标题说2位小数,但您的注释说4位)。
Declare @currentDate Date
Set @currentDate = '2017-02-25' --GetDate()
SELECT
SUM(receivables) AS [Trans-January],
(SELECT SUM(receivables)
FROM tbl_customerInfo
WHERE invalid = 'valid'
AND YEAR(@currentDate) = '2017'
AND MONTH(@currentDate) = '02'
AND paid = 1) AS [Coll-January],
Format(
(((SELECT SUM(receivables)
FROM tbl_customerInfo
WHERE invalid = 'valid'
AND YEAR(@currentDate) = '2017'
AND MONTH(@currentDate) = '02'
AND paid = 1) /
(SELECT SUM(receivables)
FROM tbl_customerInfo
WHERE invalid = 'valid'
AND YEAR(@currentDate) = '2017'
AND MONTH(@currentDate) = '02')) *100)
,'N4') AS [January]
FROM tbl_customerInfo
WHERE invalid = 'valid'
AND YEAR(@currentDate) = '2017'
AND MONTH(@currentDate) = '02'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.