用十进制值除法-舍入问题

时间:2019-05-29 11:46:04

标签: sql decimal rounding

我正在尝试将两个十进制值相除,希望它们将返回以下内容; 1.132930。

但是,SQL似乎将值四舍五入为1.132931。

转换前返回的值为1.1329305135951。

我正在使用的SQL代码如下:

DECLARE @p1 DECIMAL(10,2)
DECLARE @p2 DECIMAL(10,2)

SET @p1 = 225.00
SET @p2 = 198.60

SELECT Cast(@p1/@p2 AS DECIMAL(9,6))

1 个答案:

答案 0 :(得分:1)

您可以按如下所示在转换前舍入该值:

DECLARE @p1 DECIMAL(10,2)
DECLARE @p2 DECIMAL(10,2)

SET @p1 = 225.00
SET @p2 = 198.60

SELECT Cast(ROUND(@p1/@p2,6,1) AS DECIMAL(9,6))