如何获得Oracle当前日期的年或月的第一天和最后一天

select trunc(sysdate,'YYYY'),add_months(trunc(sysdate,'YYYY'),12)-1  from dual t   当年

 

select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天", 
to_char(last_day(sysdate), 'yyyy-mm-dd') "本月最后一天" 


--Oracle trunc()函数的用法 
/**************日期********************/ 
1.select trunc(sysdate) from dual  --2011-3-18  今天的日期为2011-3-18 
2.select trunc(sysdate, 'mm')   from   dual  --2011-3-1    返回当月第一天. 
3.select trunc(sysdate,'yy') from dual  --2011-1-1       返回当年第一天 
4.select trunc(sysdate,'dd') from dual  --2011-3-18    返回当前年月日 
5.select trunc(sysdate,'yyyy') from dual  --2011-1-1   返回当年第一天 
6.select trunc(sysdate,'d') from dual  --2011-3-13 (星期天)返回当前星期的第一天 
7.select trunc(sysdate, 'hh') from dual   --2011-3-18 14:00:00   当前时间为14:41    

8.select trunc(sysdate, 'mi') from dual  --2011-3-18 14:41:00   TRUNC()函数没有秒的精确

1.当前日期的年份第一天和最后一天
第一天
select trunc(sysdate,'y') FROM DUAL;
select trunc(sysdate,'yy') FROM DUAL;
select trunc(sysdate,'yyy') FROM DUAL;
select trunc(sysdate,'yyyy') FROM DUAL;
最后一天
select last_day(add_months(trunc(SYSDATE,'y'),11)) from dual
2.当前日期的月份第一天和最后一天
select trunc(sysdate,'MM') from dual;
select last_day(sysdate) from dual;


猜你喜欢

转载自blog.csdn.net/M_Jack/article/details/80948120