oracle 日期相關(guān)函數(shù)
(2011-06-21 15:11:31)
--2011/06/21 14:21:20
--Y或YY或YYY年的最后一位,兩位或三位 2011年
select to_char(sysdate,'YYYY') from dual;
--Y:1
--YY:11
--YYY:011
--YYYY:2011
--Q季度 1-3月為第一季度,2表示第2季度.
select to_char(sysdate,'Q') from dual;
--2
--MM月份數(shù)
select to_char(sysdate,'MM') from dual;
--06
--RM月份的羅馬表示(V表示5)
select to_char(sysdate,'RM') from dual;
--VI
--Month用9個(gè)字符長(zhǎng)度表示的月份名
select to_char(sysdate,'Month') from dual;
--6月
--WW當(dāng)年第幾周
select to_char(sysdate,'WW') from dual;
--25
--W本月第幾周
select to_char(sysdate,'W') from dual;
--3
--DDD當(dāng)年第幾天
select to_char(sysdate,'DDD') from dual;
--172
--DD當(dāng)月第幾天
select to_char(sysdate,'DD') from dual;
--21
--D當(dāng)周第幾天
select to_char(sysdate,'D') from dual;
--DY中文的星期幾
select to_char(sysdate,'DY') from dual;
--星期二
--HH或HH12 12進(jìn)制小時(shí)數(shù)
select to_char(sysdate,'HH') from dual;
--02
--HH24 24小時(shí)制
select to_char(sysdate,'HH24') from dual;
--14
--trunc(sysdate,'Q') 本季度第一天
select trunc(sysdate,'Q') from dual;
--2011/4/1
--trunc(sysdate,'D') 本周第一天
select trunc(sysdate,'D') from dual;
--2011/6/19
--trunc(sysdate,'M') 本月第一天
select trunc(sysdate,'MM') from dual;
--2011/6/1
--add_months(sysdate,2) 日期加2個(gè)月
select add_months(sysdate,2) from dual;
--2011/8/21 14:21:20
--last_day(sysdate) 本月最后一天
select last_day(sysdate) from dual;
--2011/6/30 14:21:20
--next_day(sysdate,2) 日期之后的第一周中,第2(指定星期的第幾天)是什么日期
select next_day(sysdate,2) from dual;
--2011/6/27 14:21:20
--Months_between(f,s) 日期f和s間相差月數(shù)
select Months_between(sysdate,sysdate-31) from dual;
--1
--得到sysdate+5所在的月份
select to_char(sysdate+5,'mon','nls_date_language=american') from dual;
--jun
--extract() 找出日期或間隔值的字段值
select extract(month from sysdate) from dual;
--6
--
select dbtimezone from dual;
--+08:00
--上月末天
select to_char(add_months(last_day(sysdate),-1),'yyyy/mm/dd') from dual;
--2011/05/31
--上月今天
select to_char(add_months(sysdate,-1),'yyyy/mm/dd') from dual;
--2011/05/21
--上月第一天
select to_char(add_months(last_day(sysdate)+1,-2),'yyyy/mm/dd') from dual;
--2011/05/01
select to_char(trunc(add_months(sysdate,-1),'MM'),'yyyy/mm/dd') from dual;
--2011/05/01
--取某月的天數(shù)
select to_char(last_day(sysdate),'dd') a
from dual;
--取得一月中所有的日期
select trunc(sysdate,'MM')+rownum-1 a
from dba_objects where rownum<=to_char(last_day(sysdate),'dd')
--找到某月中所有周五的具體日期
select to_char(b.a,'yyyy/mm/dd')
from (
select trunc(sysdate,'MM')+rownum-1 a
from dba_objects where rownum<=to_char(last_day(sysdate),'dd')
) b
where to_char(b.a,'day')='星期五'