1

在我的选择语句的一部分中,我想将值四舍五入到小数点后两位。选择有一个乘法,我将一列的值乘以另一列并除以 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。

4

1 回答 1

3

选择 cast((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
于 2012-08-20T17:46:20.300 回答