MYSQL:函数truncate(numeric,int)不存在



我想对很长的数字进行四舍五入,round((函数在这里运行得很好,但数字的长度仍然相同。

我曾经:ROUND(152.23456789123456789,1)

得到:152.20000000000000000

但希望获得:152.2

我读到有TRUNCATE((函数;切割";十进制数字,但这对我不起作用。我收到一条错误消息,说该函数不存在或权限被拒绝。我正在使用Vertica。我尝试的功能是:TRUNCATE(152.23456789123456789,1)

我还读到,在round函数中添加第三个参数可能会有所帮助,但这对我来说也不起作用,同样是因为该函数不存在:ROUND(152.23456789123456789,1,1)

你知道我还能做什么吗?

谢谢!

ROUND()影响列的,但不一定影响类型

如果你想要一个小数位,那么转换成十进制:

CAST(152.23456789123456789 as DECIMAL(10, 1))

如果你从一个浮点类型开始,那么结果将是浮点——而额外的零可能来自于此(无论你在查询数据(。

下面是一个示例,显示了类型的差异。

相关内容

  • 没有找到相关文章

最新更新