trunc通常可以截取数值(number)和日期(date)
1、截取数值(number)
### 截取整数部分
SQL> select trunc(1111.222)from dual;
TRUNC(1111.222)
---------------
1111
### 小数点后面保留2位
SQL> select trunc(1111.222,2)from dual;
TRUNC(1111.222,2)
-----------------
1111.22
### 小数点前面(左边)一个数为0
SQL> select trunc(1111.222,-1)from dual;
TRUNC(1111.222,-1)
------------------
1110
### 小数点前面(左边)两个数为0
SQL> select trunc(1111.222,-2)from dual;
TRUNC(1111.222,-2)
------------------
1100
2、截取日期(date)
trunc(sysdate) //返回系统当前时间
trunc(sysdate,'yyyy');//返回当前年的第一天
trunc(sysdate, 'mm');//返回当前月的第一天
trunc(sysdate, 'dd');//返回当前时间的年月日
trunc(sysdate, 'd');//返回当前星期的第一天
trunc(sysdate, 'hh');//返回当前小时
select sysdate, trunc(sysdate),trunc(sysdate,'yyyy'),trunc(sysdate,'mm'),
trunc(sysdate,'dd'),trunc(sysdate,'d'),trunc(sysdate,'hh')
from dual;