无论其在雪花中的精度如何,都会出现四舍五入的问题
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
我是 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