Oracle中的trunc()函数是对时间类型或者数字进行截取操作的。
trunc(Date)的用法一般有以下几种:
select sysdate from dual
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual
select trunc(sysdate,'yyyy') from dual --当年的第一天
select trunc(sysdate,'mm') from dual --当月的第一天
select trunc(sysdate,'dd') from dual --当前时间(精确到天)
select trunc(sysdate,'d') from dual --当前星期的第一天
select trunc(sysdate,'hh') from dual --当前时间(精确到小时)
select trunc(sysdate,'mi') from dual --当前时间(精确到分钟,没有精确到秒的)
trunc(number)的用法一般有以下几种:
trunc(55.5,-1) = 50; //-1(负数)表示从小数点左边第一位截取后面全置为零;
trunc(55.55,1) = 55.5; //1(正数)表示小数点后面保留一位;
trunc(55.55) = 55; //截取整数部分;