SQL在select语句中进行乘法和舍入

时间:2012-08-20 17:30:13

标签: select decimal rounding sql-function multiplying

在我的select语句的一部分中,我想将值四舍五入到两位小数。 select有一个乘法,我取一列的值并乘以另一列并除以100.我希望这个值只返回两个小数位但似乎没有任何工作正常。这是我到目前为止所尝试的内容:

 SELECT
     a.Rate AS 'Rate'
     ,a.LoI AS 'Liability'
 ---------------------------------------------------
 ---- Tried Each Of These Seperately ---------------
 ---------------------------------------------------

     CAST(a.Rate * a.LoI / 100, money) AS 'Premium'

     ROUND(a.Rate * a.LoI / 100,2) AS 'Premium'

     CAST((A.Rate * a.LoI / 100), money) AS 'Premium'

     CONVERT(A.Rate * a.LoI / 100, money) AS 'Premium'

FROM tblAspecs a

a.Rate是数据类型Decimal(10,2)

a.LoI的数据类型为bigint

我正在使用Microsoft SQL Server Management Studio 2010。

1 个答案:

答案 0 :(得分:2)

选择强制转换((123.456 * 2/100)为十进制(38,2))

对我有用:)但那可能不是你想要的?

所以我想你可以试试:

SELECT
 a.Rate AS 'Rate'
 ,a.LoI AS 'Liability'
 ,CAST((a.Rate * a.LoI / 100) AS decimal(38,2)) 'Premium' FROM tblAspecs a