教学文章
Technology Exchange
热门课程
400电话

免费咨询热线
400-090-9964

教学文章

oracle学习之日期时间参数大全(一)

时间:2017-07-14 来源:

  环境:

  [oracle@localhost ~]$ sqlplus -v

  SQL*Plus: Release 10.2.0.1.0 - Production

  sys@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 PM

  sys@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

  --

  21

  sys@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

  -

  5

  sys@ORCL> select to_char(to_date('2013-1-3','yyyy-mm-dd'),'dd') "dd" from dual;

  dd

  --

  03

  sys@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 thirteen

  sys@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

  -

  3

  sys@ORCL> select to_char(sysdate,'yy') from dual;

  TO

  --

  13

  sys@ORCL> select to_char(sysdate,'yyy') from dual;

  TO_

  ---

  013

  sys@ORCL> select to_char(sysdate,'y,yyy') from dual;

  TO_CH

  -----

  2,013

  sys@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

  --

  01

  sys@ORCL> select to_char(to_date('2013-1-3','yyyy-mm-dd'),'iw') from dual;

  TO

  --

  01

  sys@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

  -

  1

  sys@ORCL> select to_char(sysdate,'J') from dual;

  TO_CHAR

  -------

  2456296

  (以上内容摘于网络,如有侵权,请告之,将第一时间删除)

版权所有@北京神脑资讯技术有限公司(CUUG,中国UNIX用户协会) Copyright ALL Rights Reserved 京ICP备11008061号-1

CUUG旗下网站:www.cuug.com.cn www.cuug.com oracle.cuug.com bbs.cuug.com www.cuug.net

电话:010-59426307 010-59426319 邮政编码:100089

地址:北京市海淀区北清路164号28-38号院