TRUNC函数用于对值进行截断。
用法有两种:TRUNC(number)表示截断数字,TRUNC(date)表示截断日期。
(1)截断数字:
格式:TRUNC(m1,m2),m1表示被截断的数字,m2表示要截断到那一位。m2可以是负数,表示截断小数点前。注意,TRUNC截断不是四舍五入。
SQL> select TRUNC(18.65) from dual; 结果为:18
SQL> select TRUNC(18.65,1) from dual; 结果为:18.6
SQL> select TRUNC(18.65,-1) from dual; 结果为:10
(2)截断日期:
截取今天:
SQL> select trunc(sysdate,'dd') from dual;
结果为:2013/12/5 返回当前年月日
截取当前星期的第一天:
SQL> select sysdate,trunc(sysdate,'d') from dual;
结果为:2013/12/5 9:09:56 2013/12/1
截取本月的第一天:
SQL> select sysdate,trunc(sysdate,'mm') from dual;
结果为:2013/12/5 9:09:56 2013/12/1
截取本年的第一天:
SQL> select sysdate,trunc(sysdate,'y') from dual;
结果为:2013/12/5 9:09:56 2013/1/1
截取到小时:
SQL> select sysdate,trunc(sysdate,'hh') from dual;
结果为:2013/12/5 9:09:56 2013/12/5 9:00:00
截取到分钟:
SQL> select sysdate,trunc(sysdate,'mi') from dual;
结果为:2013/12/5 9:09:56 2013/12/5 9:09:00
获取上月第一天:
SQL> select sysdate, TRUNC(add_months(SYSDATE,-1),'MM') from dual
结果为:2013/12/5 9:09:56 2013/11/1