TRUNCATE
📄字数 496
👁️阅读量 加载中...
功能描述
返回将 expr1 截断到 expr2 位小数位后的值,不进行四舍五入。
当 expr1 的类型为 FLOAT 或 DOUBLE 时,该函数等价于 TRUNC() 函数。
语法格式
sql
TRUNCATE(expr1[, expr2])输入参数
expr1:待截取的值,FLOAT或DOUBLE类型,或能隐式转换为FLOAT或DOUBLE类型的其他类型。expr2:小数点后面的保留位数,可选参数,默认值为0,表示舍弃小数部分;值可以是负数,表示截断(置零)小数点左侧的expr2位数字。
提示
- 因
NULL无具体的类型,当第一个参数为NULL时,会产生异常E10100 候选函数出现多义性,需要手动为参数指定具体的类型,如:TRUNCATE(NULL::FLOAT, NULL)。
输出结果
输出结果类型与第一个输入参数类型一致,任意输入参数为 NULL 时,输出结果为 NULL。
示例
sql
-- 按照指定的小数位截断数值,负数表示截断小数点左边的位数
SQL> SELECT TRUNCATE(123.4567, 2), TRUNCATE(123.4567, 0), TRUNCATE(123.4567, -1);
+--------------+--------------+--------------+
| EXPR1 | EXPR2 | EXPR3 |
+--------------+--------------+--------------+
| 1.234500e+02 | 1.230000e+02 | 1.200000e+02 |
+--------------+--------------+--------------+