oracle日期函式大全
阿新 • • 發佈:2019-01-22
1.Sysdate 獲得當前日期和時間
select sysdate from dual
2.Last_day 本月最後一天
select last_day(sysdate) from dual
3.Add_months(d,n) 當前日期d後推n個月 ,用於從一個日期值增加或減少一些月份
select add_months(sysdate,-2) from dual
4.Months_between(f,s) 日期f和s間相差月數
select months_between(sysdate,to_date('2010-10-03','yyyy-mm-dd')) from dual;
5.NEXT_DAY(d, day_of_week),返回由"day_of_week"命名的,在變數"d"指定的日期之後的第一個工作日的日期。引數"day_of_week"必須為該星期中的某一天。
SELECT next_day(sysdate,1) FROM dual;
6.current_date()返回當前會話時區中的當前日期
select sessiontimezone,current_date from dual;
7.current_timestamp()以timestamp with time zone資料型別返回當前會話時區中的當前日期
select sessiontimezone,current_timestamp from dual;
8.dbtimezone()返回時區
select dbtimezone from dual;
9.extract()找出日期或間隔值的欄位值
select extract(month from sysdate) "This Month" from dual;
10.localtimestamp()返回會話中的日期和時間
select localtimestamp from dual;
11.Y或YY或YYY 年的最後一位,兩位或三位
select to_char(sysdate,'YYYY') from dual
12.SYEAR使公元前的年份前加一負號
select to_char(sysdate,'SYEAR') from dual
13.Q 季度,1~3月為第一季度
select to_char(sysdate,'Q') from dual;
14.MM 月份數
select to_char(sysdate,'MM') from dual
15.RM 月份的羅馬錶示
select to_char(sysdate,'RM') from dual
16.Month 用9個字元長度表示的月份名
select to_char(sysdate,'Month') from dual
17.WW 當年第幾周
select to_char(sysdate,'WW') from dual
18.W 本月第幾周
select to_char(sysdate,'W') from dual
19。DDD 當年第幾
select to_char(sysdate,'DDD') from dual
20.DD 當月第幾天
select to_char(sysdate,'DD') from dual
21.D 周內第幾天
select to_char(sysdate,'D') from dual
22.DY 周內第幾天縮寫
select to_char(sysdate,'D') from dual
23.HH或HH12 12進位制小時數
select to_char(sysdate,'HH') from dual
24.HH24 24小時制
select to_char(sysdate,'HH24') from dual
25.MI 分鐘數(0~59)
select to_char(sysdate,'MI') from dual
26.SS 秒數(0~59)
select to_char(sysdate,'SS') from dual
注意:不要將MM格式用於分鐘(分鐘應該使用MI)。MM是用於月份的格式,將它用於分鐘也能工作,但結果是錯誤的。
27.上月末天
select to_char(add_months(last_day(sysdate),-1),'yyyy-MM-dd') LastDay from dual;
28.上月首天
select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-MM-dd') firstDay from dual;
29.按照每週進行統計
select to_char(sysdate,'ww') from dual group by to_char(sysdate,'ww');
30.按照每月進行統計
select to_char(sysdate,'mm') from dual group by to_char(sysdate,'mm');
31.按照每季度進行統計
select to_char(sysdate,'q') from dual group by to_char(sysdate,'q');
32.按照每年進行統計
select to_char(sysdate,'yyyy') from dual group by to_char(sysdate,'yyyy');
select sysdate from dual
2.Last_day 本月最後一天
select last_day(sysdate) from dual
3.Add_months(d,n) 當前日期d後推n個月 ,用於從一個日期值增加或減少一些月份
select add_months(sysdate,-2) from dual
4.Months_between(f,s) 日期f和s間相差月數
select months_between(sysdate,to_date('2010-10-03','yyyy-mm-dd')) from dual;
5.NEXT_DAY(d, day_of_week),返回由"day_of_week"命名的,在變數"d"指定的日期之後的第一個工作日的日期。引數"day_of_week"必須為該星期中的某一天。
SELECT next_day(sysdate,1) FROM dual;
6.current_date()返回當前會話時區中的當前日期
select sessiontimezone,current_date from dual;
7.current_timestamp()以timestamp with time zone資料型別返回當前會話時區中的當前日期
select sessiontimezone,current_timestamp from dual;
8.dbtimezone()返回時區
select dbtimezone from dual;
9.extract()找出日期或間隔值的欄位值
select extract(month from sysdate) "This Month" from dual;
10.localtimestamp()返回會話中的日期和時間
select localtimestamp from dual;
11.Y或YY或YYY 年的最後一位,兩位或三位
select to_char(sysdate,'YYYY') from dual
12.SYEAR使公元前的年份前加一負號
select to_char(sysdate,'SYEAR') from dual
13.Q 季度,1~3月為第一季度
select to_char(sysdate,'Q') from dual;
14.MM 月份數
select to_char(sysdate,'MM') from dual
15.RM 月份的羅馬錶示
select to_char(sysdate,'RM') from dual
16.Month 用9個字元長度表示的月份名
select to_char(sysdate,'Month') from dual
17.WW 當年第幾周
select to_char(sysdate,'WW') from dual
18.W 本月第幾周
select to_char(sysdate,'W') from dual
19。DDD 當年第幾
select to_char(sysdate,'DDD') from dual
20.DD 當月第幾天
select to_char(sysdate,'DD') from dual
21.D 周內第幾天
select to_char(sysdate,'D') from dual
22.DY 周內第幾天縮寫
select to_char(sysdate,'D') from dual
23.HH或HH12 12進位制小時數
select to_char(sysdate,'HH') from dual
24.HH24 24小時制
select to_char(sysdate,'HH24') from dual
25.MI 分鐘數(0~59)
select to_char(sysdate,'MI') from dual
26.SS 秒數(0~59)
select to_char(sysdate,'SS') from dual
注意:不要將MM格式用於分鐘(分鐘應該使用MI)。MM是用於月份的格式,將它用於分鐘也能工作,但結果是錯誤的。
27.上月末天
select to_char(add_months(last_day(sysdate),-1),'yyyy-MM-dd') LastDay from dual;
28.上月首天
select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-MM-dd') firstDay from dual;
29.按照每週進行統計
select to_char(sysdate,'ww') from dual group by to_char(sysdate,'ww');
30.按照每月進行統計
select to_char(sysdate,'mm') from dual group by to_char(sysdate,'mm');
31.按照每季度進行統計
select to_char(sysdate,'q') from dual group by to_char(sysdate,'q');
32.按照每年進行統計
select to_char(sysdate,'yyyy') from dual group by to_char(sysdate,'yyyy');