MYSQL: 函数 truncate(numeric,int) 不存在
MYSQL: function truncate(numeric,int) does not exist
我想舍入非常长的数字,ROUND() 函数在这里工作得很好,但数字的长度仍然相同。
我用过:
ROUND(152.23456789123456789,1)
得到:152.20000000000000000
但想得到:152.2
我读到 TRUNCATE() 函数可以“截断”十进制数,但这对我不起作用。我收到一条错误消息,指出该函数不存在或权限被拒绝。我正在使用 Vertica。
我尝试的功能是:
TRUNCATE(152.23456789123456789,1)
我还读到向 round 函数添加第三个参数可能会有所帮助,但这对我也不起作用,同样是因为该函数不存在:
ROUND(152.23456789123456789,1,1)
你知道我还能做什么吗?
谢谢!
ROUND()
影响列的 value,但不一定影响 type.
如果要一位小数,则转换为小数:
CAST(152.23456789123456789 as DECIMAL(10, 1))
如果您从浮点类型开始,那么结果将是浮点 - 额外的零可能来自它(无论您查询数据如何)。
Here 是显示类型差异的示例。
我想舍入非常长的数字,ROUND() 函数在这里工作得很好,但数字的长度仍然相同。
我用过:
ROUND(152.23456789123456789,1)
得到:152.20000000000000000
但想得到:152.2
我读到 TRUNCATE() 函数可以“截断”十进制数,但这对我不起作用。我收到一条错误消息,指出该函数不存在或权限被拒绝。我正在使用 Vertica。
我尝试的功能是:
TRUNCATE(152.23456789123456789,1)
我还读到向 round 函数添加第三个参数可能会有所帮助,但这对我也不起作用,同样是因为该函数不存在:
ROUND(152.23456789123456789,1,1)
你知道我还能做什么吗?
谢谢!
ROUND()
影响列的 value,但不一定影响 type.
如果要一位小数,则转换为小数:
CAST(152.23456789123456789 as DECIMAL(10, 1))
如果您从浮点类型开始,那么结果将是浮点 - 额外的零可能来自它(无论您查询数据如何)。
Here 是显示类型差异的示例。