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 |
+--------------+-------+--------------+