四舍五入从 Teradata SQL 助手中提取的值时出现问题

Issue in rounding off the values extracted from Teradata SQL assistant

我需要对从 Teradata SQL 助手中提取的几个字段进行四舍五入。 目前我正在使用 CAST(Field1 as numeric(20,2)) 作为 Field1 18.529 四舍五入为 18.53 但 36.425 四舍五入为 36.42 而不是我期待 36.43 如何实现?

因为在 36.425 中,5 接近 0 而不是 10, 如果你输入 36.426,它会四舍五入到 36.43

回合:

它将像下面这样工作

在 0 和 5 之间 > 递增 0(替换)

在 5 到 10 之间 > 增加 1(替换)

我在论坛上找到了一个旧的 post here which states that the RoundHalfwayMagUp controls whether .5 rounds up or down. See the docs 以获取更多信息

CAST 的舍入规则取决于全局设置,RoundHalfwayMagUp 在 dbscontrol 中。

您可以尝试 ROUND 函数,它默认为您喜欢的舍入规则:

ROUND(36.425,2)