oracle之日期函式

2021-09-02 17:05:18 字數 3814 閱讀 4199

1、sysdate:返回當前日期

2、add_months(d1,n1):返回在日期d1基礎上再加n1個月後新的日期

3、last_day(d1):返回d1日期所在月份的最後一天

4、months_between(d1,d2):返回日期d1與日期d2間隔的月數,d1>d2返回正數,反之返回負數

5、new_time(dt1,c1,c2):給出時間dt1在c1時區對應c2時區的日期和時間。dt1為日期型別,c1和c2為時區及其簡寫,時區簡寫如下:

英國夏令時:bst或bdt

美國**時區:cst或cdt

示例:select sysdate bj_time, new_time(sysdate,'pdt','gmt') los_angles from dual;

結果:[img]

6、round(d1[,c1]):給出日期d1按引數c1四捨五入後的期間的第一天日期(與數值四捨五入意思相近),d1為日期型,c1為字元型,c1預設為j(即最近0點日期),c1取值如下:

最近0點日期: 取消引數c1或j,示例如下:

[img]

[img]

最近的星期日:day或dy或d,示例如下:

[img]

[img]

最近月初日期:month或mon或mm或rm;

最近季日期:q;

最近年初日期:syear或year或yyyy或yyy或yy或y(多個y表示精度);

最近世紀初日期:cc或scc。

7、 trunc(d1[,c1]):返回日期d1所在期間(引數c1)的第一天日期,d1日期型,c1為字元型(引數),c1預設為j(即當前日期),c1對應的參數列:

最近0點日期: 取消引數c1或j

最近的星期日:day或dy或d (每週順序:日,一,二,三,四,五,六)

最近月初日期:month或mon或mm或rm

最近季日期:q 最近年初日期:syear或year或yyyy或yyy或yy或y(多個y表示精度)

最近世紀初日期:cc或scc

8、next_day(d1[,c1]):返回日期d1在下週,星期幾(引數c1)的日期

d1日期型,c1為字元型(引數),c1預設為j(即當前日期)

c1對應:星期一,星期二,星期三……星期日

示例:select sysdate 當時日期, next_day(sysdate,'星期一') 下週星期一, next_day(sysdate,'星期二') 下週星期二, next_day(sysdate,'星期三') 下週星期三, next_day(sysdate,'星期四') 下週星期四, next_day(sysdate,'星期五') 下週星期五, next_day(sysdate,'星期六') 下週星期六, next_day(sysdate,'星期日') 下週星期日 from dual;

9、extract(c1 from d1)

【功能】:日期/時間d1中,引數(c1)的值

【引數】:d1日期型(date)/日期時間型(timestamp),c1為字元型(引數)

【參數列】:c1對應的參數列詳見示例

【返回】:字元

【示例】 select extract(hour from timestamp '2001-2-16 2:38:40 ' ) 小時,

extract(minute from timestamp '2001-2-16 2:38:40 ' ) 分鐘,

extract(second from timestamp '2001-2-16 2:38:40 ' ) 秒,

extract(day from timestamp '2001-2-16 2:38:40 ' ) 日,

extract(month from timestamp '2001-2-16 2:38:40 ' ) 月,

extract(year from timestamp '2001-2-16 2:38:40 ' ) 年

from dual;

select extract (year from date '2001-2-16' ) from dual;

select sysdate 當前日期,

extract(hour from systimestamp) 小時,

extract(day from sysdate ) 日,

extract(month from sysdate ) 月,

extract(year from sysdate ) 年

from dual;

說明:date只包含為年月日,timestamp包含年月日時分秒,從sysdate以及date日期型別中只能獲取年月日,從systimestamp及timestamp中可以獲取年月日時分秒。

10、localtimestamp

【功能】:返回會話中的日期和時間

【引數】:沒有引數,沒有括號

【返回】:日期

【示例】select localtimestamp from dual;

11、current_timestamp

【功能】:以timestamp with time zone資料型別返回當前會話時區中的當前日期

【引數】:沒有引數,沒有括號

【返回】:日期

【示例】select current_timestamp from dual;

12、current_date

【功能】:返回當前會話時區中的當前日期

【引數】:沒有引數,沒有括號

【返回】:日期

【示例】select current_date from dual;

13、dbtimezone

功能】:返回時區

【引數】:沒有引數,沒有括號

【返回】:字元型

【示例】select dbtimezone from dual;

14、sessiontimezone

【功能】:返回會話時區

【引數】:沒有引數,沒有括號

【返回】:字元型

【示例】select dbtimezone,sessiontimezone from dual;

15、interval c1 set1

【功能】:變動日期時間數值

【引數】:c1為數字字串或日期時間字串,set1為日期引數

【參數列】:set1具體參照示例

【返回】:日期時間格式的數值,前面多個+號 以天或天更小單位時可用數值表示式借用,如1表示1天,1/24表示1小時,1/24/60表示1分鐘

【示例】 select trunc(sysdate)+(interval '1' second), --加1秒(1/24/60/60)

trunc(sysdate)+(interval '1' minute), --加1分鐘(1/24/60)

trunc(sysdate)+(interval '1' hour), --加1小時(1/24)

trunc(sysdate)+(interval '1' day), --加1天(1)

trunc(sysdate)+(interval '1' month), --加1月

trunc(sysdate)+(interval '1' year), --加1年

trunc(sysdate)+(interval '01:02:03' hour to second), --加指定小時到秒

trunc(sysdate)+(interval '01:02' minute to second), --加指定分鐘到秒

trunc(sysdate)+(interval '01:02' hour to minute), --加指定小時到分鐘

trunc(sysdate)+(interval '2 01:02' day to minute) --加指定天數到分鐘

from dual;

oracle學習之日期函式

oracle 用到的日期函是 函式 描述add month 在日期date上增加count個月 greatest date1,date2,從日期列表中選出最晚的日期 last day date 返回日期date 所在月的最後一天 least date1,date2,從日期列表中選出最早的日期 mon...

oracle單行函式之日期函式

在日期上加上或減去乙個數字結果仍為日期。兩個日期相減返回日期之間相差的天數。可以用數字除24來向日期中加上或減去小時。1 sql select sysdate sysdate 2from dual 23 sysdate sysdate 24 52014 12 232014 12 2567 sql s...

PHP之日期函式

介紹 php是一門非常令人驚奇的語言。它足夠強大 最大的部落格 wordpress 的核心語言 它足夠廣泛 執行在最大社交 facebook上 它足夠簡單 作為初學者首選入門語言 在低成本的機器上執行良好。而且php語言有很多非常不錯的伺服器套件 如wamp和mamp 很方便的安裝在你的機器上。ph...