oracle學習(六) 時間日期函式

2021-07-12 07:09:57 字數 2714 閱讀 7918

--返回當前時間

select sysdate from dual;-->2016-06-02 08:40:28

--月份加1

select "add_months"(sysdate, 1) from dual;-->2016-07-02 08:40:15

select "add_months"("to_date"('2016-6-2', 'yyyy-mm-dd'), 3) from dual;-->2016-09-02 00:00:00

--返回最後一天

select "last_day"(sysdate) from dual;-->2016-06-30 08:40:08

--日期月份差

select "ceil"("months_between"(sysdate, "to_date"('2016-9-01', 'yyyy-mm-dd'))) from dual;-->-2

select "ceil"("months_between"("to_date"('2016-9-01', 'yyyy-mm-dd'), sysdate)) from dual;-->3

--返回特定日期後一周的日期

select "next_day"("to_date"('2016-06-02', 'yyyy-mm-dd'), 1) from dual;-->2016-06-05 00:00:00

select "next_day"("to_date"('2016-06-02', 'yyyy-mm-dd'), 2) from dual;-->2016-06-06 00:00:00

select "next_day"("to_date"('2016-06-02', 'yyyy-mm-dd'), 3) from dual;-->2016-06-07 00:00:00

select "next_day"("to_date"('2016-06-02', 'yyyy-mm-dd'), 4) from dual;-->2016-06-08 00:00:00

select "next_day"("to_date"('2016-06-02', 'yyyy-mm-dd'), 5) from dual;-->2016-06-09 00:00:00

select "next_day"("to_date"('2016-06-02', 'yyyy-mm-dd'), 6) from dual;-->2016-06-03 00:00:00

select "next_day"("to_date"('2016-06-02', 'yyyy-mm-dd'), 7) from dual;-->2016-06-04 00:00:00

--擷取時間

select "trunc"("to_date"('2016-6-2 09:03:46', 'yyyy-mm_dd hh24:mi:ss'), 'yyyy') from dual;-->2016-01-01 00:00:00

select "trunc"("to_date"('2016-6-2 09:03:46', 'yyyy-mm_dd hh24:mi:ss'), 'mm') from dual;-->2016-06-01 00:00:00

select "trunc"("to_date"('2016-6-2 09:03:46', 'yyyy-mm_dd hh24:mi:ss'), 'dd') from dual;-->2016-06-02 00:00:00

select "trunc"("to_date"('2016-6-2 09:03:46', 'yyyy-mm_dd hh24:mi:ss'), 'hh24') from dual;-->2016-06-02 09:03:00

select "trunc"("to_date"('2016-6-2 09:03:46', 'yyyy-mm_dd hh24:mi:ss'), 'mi') from dual;-->2016-06-02 09:03:00

select "to_date"('2016-6-2 09:03:46', 'yyyy-mm_dd hh24:mi:ss') from dual;-->2016-06-02 09:03:46

--返回時區

select sessiontimezone,"to_char"(current_date,'yyyy-mm-dd hh24:mi:ss') from dual;-->+08:00   2016-06-02 09:12:19

select sessiontimezone,current_timestamp from dual;-->+08:00  2016-06-02 09:13:39:461000 +08:00

--獲取年月日

select extract(year from sysdate) from dual;-->2016

select extract(month from sysdate) from dual;-->6

select extract(day from sysdate) from dual;-->2

--獲取小時、分鐘、秒-->注意時間是0時區的時間

時間日期函式

獲取 當前日期 curdate 2021 03 02 select curdate 獲取 當前時間 select curtime 獲取日期和時間 2021 03 02 14 47 31 select now 獲取日期所在的週數 第幾周 select week 1998 02 20 獲取日期中的年份 ...

oracle 的時間日期轉換函式

1.有sysdate轉換後的日期的例子總結 select to char sysdate,yyyy mm dd hh24 mi ss today date,今天帶時分秒的 sysdate to date 1970 01 01 yyyy mm dd 86400 8 3600 todaytosecond...

Oracle時間日期操作

oracle時間日期操作 sysdate 5 24 60 60 在系統時間基礎上延遲5秒 sysdate 5 24 60 在系統時間基礎上延遲5分鐘 sysdate 5 24 在系統時間基礎上延遲5小時 sysdate 5 在系統時間基礎上延遲5天 add months sysdate,5 在系統時...