无论其在雪花中的精度如何,都会出现四舍五入的问题

Issues rounding up values regardless of its precision in snowflake

我是 snowflake 的新手,我正在尝试编写一个 SQL 查询以不同于通常方式的方式汇总值。我的查询最多可以保留 2 位小数

SELECT
    "ID",
     round("Cash", 2) AS "Balance",
    "Currency"
FROM
    "lex"
where "ID" = 101

在现金 = 100.065 的情况下,它四舍五入到 100.07 这很好。 我也想把 cash = 100.061 凑成 100.07

这个可行吗

也许一个简单的方法就是在四舍五入时简单地加上一个值0.005:

    round(cash + 0.005, 2)

编辑:但是您可能需要一个 case 语句来查看小数点后的第 3 位数字,如果是 0,则不要添加 0.005。仅取决于您的数据和用例进行四舍五入。

CEIL 函数应该这样做,但它会四舍五入任何值,所以要小心你的精度

https://docs.snowflake.com/en/sql-reference/functions/ceil.html