sql基础知识:日期的常用用法

– 得到当前的日期
select sysdate from dual; – 得到当天凌晨0点0分0秒的日期
select trunc(sysdate) from dual; – 得到当天的最后一秒 x年x月x日 23:59:59
select trunc(sysdate)+0.99999 from dual; – 得到明天凌晨0点0分0秒的日期
select trunc(sysdate)+1 from dual; – 得到本月1号的日期
select trunc(sysdate,‘mm’) from dual; – 得到下个月1号的日期
select trunc(add_months(sysdate,1),‘mm’) from dual; – 得到当月的最后一天
select last_day(sysdate),

   last_day(trunc(sysdate)),<br/>
   trunc(last_day(sysdate)),<br/>
   trunc(add_months(sysdate,1),&#39;mm&#39;) - 1<br/>

from dual; select * from all_objects; – 得到一年的每一天
select trunc(sysdate,‘yyyy’)+ rn -1 date0
from
(select rownum rn from all_objects
where rownum&lt;366); – 判断是闰年还是平年
select decode(to_char(last_day(trunc(sysdate,‘y’)+31),‘dd’),‘29’,‘闰年’,‘平年’) from dual;
– 解析
select trunc(sysdate,‘y’) from dual;–获取当前年份的1月1日
select trunc(sysdate,‘y’)+31 from dual;–获取当前年份的2月1日
select to_char(last_day(trunc(sysdate,‘y’)+31),‘dd’) from dual;–获取2月份的最后一天