计算机中的`TRUNC`函数是一个数学函数,用于 截去数字的小数部分,返回整数。这个函数类似于`ROUNDDOWN`函数。`TRUNC`函数可以接受两个参数:
数值:
要进行截尾操作的数字。
保留位数(可选):指定要保留的小数位数。如果省略,则默认保留整数部分。
当用于日期时,`TRUNC`函数可以截去日期的某一部分,例如小时、分钟等。其语法格式为`TRUNC(date, [fmt])`,其中`date`是一个日期值,`fmt`是日期格式。如果不指定`fmt`,则默认截去最近的日期。
```sql
-- 截取数字
TRUNC(89.985, 2) -- 结果为 89.98
TRUNC(89.985) -- 结果为 89
TRUNC(89.985, -1) -- 结果为 80
-- 截取日期
TRUNC(TO_DATE('24-Nov-1999 08:00 pm', 'dd-mon-yyyy hh:mi am'))
-- 结果为 '24-Nov-1999 12:00:00 am'
TRUNC(TO_DATE('24-Nov-1999 08:37 pm', 'dd-mon-yyyy hh:mi am'), 'hh')
-- 结果为 '24-Nov-1999 08:00:00 am'
TRUNC(sysdate, 'yyyy') -- 返回当年第一天
TRUNC(sysdate, 'mm') -- 返回当月第一天
TRUNC(sysdate, 'd')-- 返回当前星期的第一天
TRUNC(sysdate, 'dd')-- 返回当前年月日
TRUNC(sysdate, 'hh')-- 返回当前小时
TRUNC(sysdate, 'mi')-- 返回当前分钟
```
建议在使用`TRUNC`函数时,明确其参数和返回值,以确保正确处理数据。