分享

oracle?日期相关函数

 圭之源 2011-06-22

oracle 日期相关函数

(2011-06-21 15:11:31)
标签:

oracle

日期

日期函数

it

分类: Oracle
--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月份数
    select to_char(sysdate,'MM') from dual;
    --06
--RM月份的罗马表示(V表示5)
    select to_char(sysdate,'RM') from dual;
    --VI
--Month用9个字符长度表示的月份名
    select to_char(sysdate,'Month') from dual;
    --6月
--WW当年第几周
    select to_char(sysdate,'WW') from dual;
    --25
--W本月第几周
    select to_char(sysdate,'W') from dual;
    --3
--DDD当年第几天
    select to_char(sysdate,'DDD') from dual;
    --172
--DD当月第几天
    select to_char(sysdate,'DD') from dual;
    --21
--D当周第几天
    select to_char(sysdate,'D') from dual;
--DY中文的星期几
    select to_char(sysdate,'DY') from dual;
    --星期二
--HH或HH12 12进制小时数
    select to_char(sysdate,'HH') from dual;
    --02
--HH24 24小时制
    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个月
    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间相差月数
    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
--取某月的天数
    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')='星期五'

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约