记录一次OPDS trunc()函数使用错误

0 阅读1分钟

场景

在一次SQL查询时,需要对结果值保留两位小数,不四舍五入,直接截取到小数点后两位。如 59.15659.1523.213423.21,查看官方帮助文档(help.aliyun.com/zh/maxcompu…),找到了下面这个函数:

在这里插入图片描述

当我使用时,报下面的错误;

SELECT  trunc(145.124, 2)
FROM    table_name
LIMIT   1;

说函数的参数类型错了,要用字符串类型

在这里插入图片描述

但我换成字符串类型,得不到自己想要的结果,返回null;

SELECT  trunc(145.124, '2')
FROM    table_name
LIMIT   1;

在这里插入图片描述

解决

换一种思路,不用这个函数,将数值 × 100,然后向下取整(用floor函数),最后再除以100,如下,59.156

  • 59.156 * 100 = 5915.6 ==> floor(5915.6) = 5915 ÷ 100 = 59.15

首次发布

hezhongying.blog.csdn.net/article/det…