日期时间参数大全(一)

来源:互联网 发布:世界 变化 知乎 编辑:程序博客网 时间:2024/05/16 17:07

环境:

[oracle@localhost ~]$ sqlplus -vSQL*Plus: Release 10.2.0.1.0 - Productionsys@ORCL> alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';Session altered.sys@ORCL> alter session set nls_language='simplified chinese';Session altered.sys@ORCL> select sessiontimezone from dual;SESSIONTIMEZONE---------------------------------------------------------------------------+08:00


       ㈠ 格式串:/ - : # 等等
            指定返回字符串的分隔符

sys@ORCL> select to_char(sysdate,'yyyy/mm/dd') "/" from dual;/----------2013/01/03     sys@ORCL> select to_char(sysdate,'yyyy-mm-dd') "-" from dual;-----------2013-01-03     sys@ORCL> select to_char(sysdate,'yyyy#mm#dd') "#" from dual;#----------2013#01#03


       ㈡ 常见标识
            公元标识:AD  或  BC

sys@ORCL> select to_char(sysdate,'AD yyyy-mm-dd') "AD" from dual;AD--------------------公元 2013-01-03     子午线标识:AM  PMsys@ORCL> select to_char(sysdate,'yyyy-mm-dd AM hh24:mi:ss') "AM" from dual;AM--------------------------2013-01-03 下午 19:24:36


           世纪标识:CC  SCC
           S前缀指定如遇公元前的显示,会在显示前加(-)
           如果年份中最后两位数字在01到99(含)之间,则返回值等于年份前两位+1
           如果年份中最后两位数字是00,则返回值与年份前两位相同

sys@ORCL> select to_char(to_date('2013-1-3','YYYY-MM-DD'),'CC') "CC" from dual;CC--21sys@ORCL> select to_char(to_date('2000-1-3','YYYY-MM-DD'),'CC') "CC" from dual;CC--20


       ㈢ 常见的字母缩写要义               
    
          D     指定日期在周中的数值(范围:1-7)
          DD    指定日期在当月中的天数(范围:1-31)
          DDD   指定日期在当年中的天数(范围:1-366)
          DAY   指定日期在周中的名称

sys@ORCL> select to_char(to_date('2013-1-3','yyyy-mm-dd'),'d') "dd" from dual;d-5sys@ORCL> select to_char(to_date('2013-1-3','yyyy-mm-dd'),'dd') "dd" from dual;dd--03sys@ORCL> select to_char(to_date('2013-1-3','yyyy-mm-dd'),'ddd') "dd" from dual;ddd---003    sys@ORCL> select to_char(to_date('2013-1-3','yyyy-mm-dd'),'day') "day" from dual;day---------星期四


          MON            返回指定日期的月份简写
          MONTH          返回指定日期的月份全称

sys@ORCL> select to_char(sysdate,'mon') "mon" from dual;mon--------1月


          YEAR/SYEAR        返回字符型年,此处s前缀与SCC处相同
          YYYY/SYYYY        返回数字型年,此处s前缀与SCC处相同
          MM                返回指定日期的月份(范围:1-12)
          HH                小时(范围:1-12)
          HH12              小时(范围:1-12)
          HH24              小时(范围:0-23)
          MI                返回指定时间的分钟(范围0-59)
          SS                返回指定时间的秒数(范围:0-59)

sys@ORCL> select to_char(sysdate,'year') "year" from dual;year------------------------------------------twenty thirteensys@ORCL> select to_char(sysdate,'am hh12') "hh12" from dual;hh12---------下午 08


          FF[1-9]        返回毫秒数,可指定长度1-9,默认6位
          Y,YYY          返回有逗号分隔显示的年
          Y/YY/YYY       以指定长度返回日期的年份

sys@ORCL> select to_char(sysdate,'y') from dual;T-3sys@ORCL> select to_char(sysdate,'yy') from dual;TO--13sys@ORCL> select to_char(sysdate,'yyy') from dual;TO_---013sys@ORCL> select to_char(sysdate,'y,yyy') from dual;TO_CH-----2,013sys@ORCL> select to_char(systimestamp,'ff4') from dual;TO_CHAR(S---------7858


          W         返回指定日期在当月中的第X周(范围:1-5)
          WW        返回指定日期在当年中的第X周(范围:1-53)
          IW        指定日期在当年中第X周(范围:1-52或1-53(润年))

sys@ORCL> select to_char(to_date('2013-1-3','yyyy-mm-dd'),'ww') from dual;TO--01sys@ORCL> select to_char(to_date('2013-1-3','yyyy-mm-dd'),'iw') from dual;TO--01sys@ORCL> select to_char(sysdate,'w') from dual;T-1


          Q            返回指定日期的季度(范围:1-4)
          J            自公元前4712年1月1日到指定日期的总天数
          SSSSS        返回自午夜到指定时间共逝去的秒数(范围:0-86399)

sys@ORCL>  select to_char(to_date('2013-1-3','yyyy-mm-dd'),'q') from dual;T-1sys@ORCL> select to_char(sysdate,'J') from dual;TO_CHAR-------2456296