四舍五入从 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)
我需要对从 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)