Redshift 中的 Sum 函数忽略十进制值

Sum function in Redshift ignoring decimal values

我有一个名为 myh 的列。它具有如下十进制值:65.2056.49

当我尝试在 Redshift 中使用 sum() 求和时,结果显示为 121 并且忽略了小数值。

有什么办法也可以得到小数吗?

你试过Cast吗?

示例:

SELECT SUM(CAST(myh as decimal(10,2)))

您可以使用Round 函数来添加值。您也可以使用 CAST

DECLARE @A DECIMAL(13,5)
DECLARE @B DECIMAL(13,5)
SET @A = 65.20
SET @B = 56.49

SELECT CAST(@A+@B AS decimal)

SELECT ROUND(SUM(@A+@B),2)