Oracle 日期函數
包含日期的基本操作
-
SYSDATE : 獲取系統時間
-
ADD_MOUTHS(date,n):在date上加n個月
-
NEXT_DAY(date,char) 獲取date之後最近星期幾的日期
-
LAST_DAY(date) 獲取本月的最後一天
-
MONTHS_BETWEEN(date1,date2) 獲取date1-date2之間相差的月份
-
EXTRACT(date_substr from date)截取日期某年/月/日/時
SYSDATE : 獲取系統時間
- sysdate 默認格式 :DD-MON-YY eg: 13-3月-19
- code
select sysdate from tb_1; sysdate --------------- 13-3月-19
ADD_MOUTHS(date,n):在date上加n個月
- 若n為負數,則減幾個月,若n為小數, 則取整數部分
- code
select ADD_MOUTHS(sysdate,1) ,ADD_MOUTHS(sysdate,-1) from tb_1; ADD_MOUTHS(sysdate,1) ADD_MOUTHS(sysdate,-1) --------------------- ---------------------- 13-4月-19 13-2月-19
NEXT_DAY(date,char) 獲取date之後最近星期幾的日期
- char 的取值 “星期一” – “星期日” 或 “SUNDAY,” —" MONDAY"
- code
select NEXT_DAY(sysdate,"星期五") form tb_1; NEXT_DAY(sysdate,"星期五") ------------------------ 15-3月-19
LAST_DAY(date) 獲取本月的最後一天
- 獲取本月最後一天
- code
select LAST_DAY(sysdate) from tb_1; LAST_DAY(sysdate) ----------------- 31-3月-19
MONTHS_BETWEEN(date1,date2) 獲取date1-date2之間相差的月份
- 獲取date1-date2之間相差的月份,結果可以為小數
- code
select MONTHS_BETWEEN("13-3月-19","13-1月-19") from tb_1; MONTHS_BETWEEN("13-3月-19","13-1月-19") -------------------------------------- 2
EXTRACT(date_substr from date)截取日期某年/月/日/時
- 獲取某天屬於某個年/月/日/時
- code
select EXTRACT(year from sysdate), EXTRACT(month from sysdate),EXTRACT(day from sysdate)from tb_1; EXTRACT(year from sysdate) EXTRACT(month from sysdate) EXTRACT(day from sysdate) ------------------------- -------------------------- ------------------------ 2019 3 13 select EXTRACT(hour form timestamp '2015-3-23 17:44:34') form tb_1; EXTRACT(hour form timestamp '2015-3-23 17:44:34') ----------------------------------------------- 17