oracle學習之日期函式

2021-04-27 14:50:20 字數 3617 閱讀 7117

oracle

用到的日期函是:函式

描述add_month

在日期date上增加count個月

greatest(date1,date2,. . .)

從日期列表中選出最晚的日期

last_day( date )

返回日期date 所在月的最後一天

least( date1, date2, . . .)

從日期列表中選出最早的日期

months_between(date2,date1)

給出date2 - date1 的月數(可以是小數)

next_day( date,

』day』)

給出日期date之後下一天的日期,這裡的day為星期,如:monday,tuesday等。

new_time(date,

』this』,

』other』)

給出在this 時區=other時區的日期和時間

round(date,

』format』)

未指定format時,如果日期中的時間在中午之前,則將日期中的時間截斷為12 a

.m.(午夜,一天的開始),否則進到第二天。時間截斷為12 a

.m.(午夜,一天的開始),否則進到第二天。

trunc(date,

』format』)

未指定format時,將日期截為12 a

.m.( 午夜,一天的開始).

add_months( ,)

增加月份和減去月份,如:

sql> select to_char( add_months(to_date('199712','yyyymm'), 1),'yyyymm') add_month

2from dual;

add_mo

------

199801

sql> select to_char(add_months(to_date('199712','yyyymm'), -1 ),'yyyymm') add_mo

2from dual;

add_mo

------

199711

last_day( date )

返回日期date 所在月的最後一天,如:

sql> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd')

2from dual;

to_char(sy to_char((s

---------- ----------

2001.05.18 2001.05.19

months_between(date2,date1)

給出date2 - date1 的月數(可以是小數);

sql> select months_between('19-12

月-1999','19-3月-2000') mon_betw from dual;

mon_betw

---------- -3

sql> select months_between(to_date('2000.05.20','yyyy.mm.dd'),

2to_date('2005.05.20','yyyy.mm.dd') ) mon_bet from dual;

mon_bet

----------

-60

new_time(date,this,other)

給出在this 時區=other時區的日期和時間

this

和other 是時區,它們可以是下面的值:

時區縮寫

代表的時區

ast/adt

大西洋標準/日期時間

bst/bdt

白令海標準/日期時間

cst/cdt

中部標準/日期時間

gmt

格林威治時間

hst/hdt

阿拉斯加-夏威夷標準/日期時間

mst/mdt

山區標準/日期時間

nst

新大陸標準時間

pst/pdt

太平洋標準/日期時間

yst/ydt

yukon

標準/日期時間

sql> select to_char(sysdate,'yyyy.mm.dd hh24:mi:ss') bj_time,

2to_char(new_time(sysdate,'pdt','gmt'),'yyyy.mm.dd hh24:mi:ss') los_angles

3from dual;

bj_timelos_angles

------------------- -------------------

2001.05.19 06:25:25 2001.05.19 13:25:25

next_day( date,day)

給出日期date和星期x之後計算下一星期x的日期,這裡的day為星期,如:monday,tuesday等。但在中文環境下,要寫成

』星期x

』這樣的格式,如:

例:比如今天是5月18日星期五,計算下乙個星期五是幾號:

sql>select next_day('18-5

月-2001','星期五') nxt_day from dual;

nxt_day

----------

25-5

月-01

sysdate

用來得到系統的當前日期,如:

sql> select to_char(sysdate,'dd-mon-yyyy day') from dual;

to_char(sysdate,'dd

-------------------

18-5

月-2001 星期五

trunc(,[,] )

按照 給出的fmt 的要求將日期截斷。如果fmt=』mi

』則表示截斷掉秒保留至分。如:

sql> select to_char(trunc(sysdate,'hh'),'yyyy.mm.dd hh24:mi:ss') hh,

2to_char(trunc(sysdate,'mi'),'yyyy.mm.dd hh24:mi:ss') hhmm from dual;

hhhhmm

------------------- -------------------

2001.05.18 22:00:00 2001.05.18 22:27:00

oracle之日期函式

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...

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...