oracle各種日期函式

2021-06-23 06:48:14 字數 1969 閱讀 9715

1.得到本月有多少天

select to_char(last_day(sysdate),'dd') from dual;

2.得到當前季度有多少天

select to_number(add_months(trunc(to_date((add_months(trunc(sysdate,'q'),3)-1)),'mm'), 1) - trunc(to_date(trunc(sysdate,'q')),'mm')) time from dual

3.得到當前日期屬於第幾季度

select to_char(sysdate,'q') from dual;

4.得到當前年有多少天

select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual;

5.得到當前年的第一天

select trunc(sysdate,'yyyy') from dual

6.得到當前年的最後一天

select add_months(trunc(sysdate, 'yyyy'), 12) - 1 from dual

7.得到當前月的第一天

select trunc(sysdate, 'mm') from dual

8.得到當前月的最後一天

select to_char(last_day(sysdate), 'yyyy-mm-dd') from dual

9.得到本季度第一天

select trunc(sysdate, 'q') from dual;

10.得到本季度最後一天

select add_months(trunc(sysdate, 'q'), 3) - 1 from dual;

11.得到本週第一天

select trunc(sysdate, 'd') + 1 from dual;

12.得到本週最後一天

select trunc(sysdate, 'd') + 7 from dual;

13.得到上乙個月

select to_char(add_months(trunc(sysdate),-1),'yyyymm') from dual;

14.得到下乙個月

select to_char(add_months(trunc(sysdate),1),'yyyymm') from dual;

15.得到一年中的週數和每週開始日期和結束日期(以01-01號為周開始,以12-31為一年的周結束)

select level 周次,

trunc(sysdate, 'yyyy') + (level - 1) * 7 當周第一天,

trunc(sysdate, 'yyyy') + (level - 1) * 7 +

decode((to_char((add_months(trunc(sysdate, 'yyyy'), 12) - 1),

'ddd') - (level - 1) * 7),

1,0,

2,1,

6) 當周最後一天

from dual

connect by level <= 53

16.得到一年中週數和每週開始日期和結束日期(按日曆的周一樣順延)

select level 周次,

( trunc(sysdate, 'yyyy') - 7) +

(7 - to_char( trunc(sysdate, 'yyyy'),

'd') + 1) + (level - 1) * 7 當周第一天,

( trunc(sysdate, 'yyyy') - 7) +

(7 - to_char( trunc(sysdate, 'yyyy'),

'd') + 1) + (level - 1) * 7 + 6 當周最後一天

from dual

connect by level <= 53

ORACLE 日期函式

1.select to char to date 2011 5 1 yyyy mm dd day from dual 返回星期日 select to char to date 2011 5 1 yyyy mm dd day nls date language american from dual 返...

oracle日期函式

說明 用於從乙個日期值增加或減少一些月份 d代表乙個日期 n為正數則代表在d日期 上增加n 月份,n 為負數則代表在 d日期上減少n月 例 select add months sysdate,12 next year from dual 2 current date 說明 返回當前會話時區中的當前日...

oracle日期函式

oracle取上週一到週末日期的查詢語句 oracle 取上週一到週末的sql 這樣取的是 在一周內第幾天,是以週日為開始的 selectto char to date 20130906 yyyymmdd d fromdual 結果 6 注釋 2013.09.06是周五,為本週的第六天 select...