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