Oracle trunc()函数
用于截取时间或者数值,返回指定的值。
可以用来处理日期或者处理数字。
下面通过几个例子来详细分析trunc函数的执行效果:
处理日期用法举例:
--查询今天的日期 2021-10-25
select trunc(sysdate) from dual ;
--返回当月第一天 2021-10-01
select trunc(sysdate, 'mm') from dual;
--返回当年第一天 2021-01-01
select trunc(sysdate,'yy') from dual
--返回当前年月日 2021-10-25
select trunc(sysdate,'dd') from dual
--返回当年第一天 2021-01-01
select trunc(sysdate,'yyyy') from dual
--返回当前星期的第一天 2021-10-24
--默认每周第一天为周末
select trunc(sysdate,'d') from dual
--返回当前时间 精确到小时 2021-10-25 11:00:00
select trunc(sysdate, 'hh') from dual
--返回当前时间 精确到分 2021-10-25 11:14:00
select trunc(sysdate, 'mi') from dual
处理数字用法举例:
TRUNC(number,num_digits)
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入
--153
select trunc(153.456) from dual
--153
select trunc(153.456) from dual
--153.4
select trunc(153.456,1) from dual
--150
select trunc(153.456,-1) from dual
--0
select trunc(153.456,-4) from dual
--123
select trunc(123) from dual
--123
select trunc(123,1) from dual
--120
select trunc(123,-1) from dual