日期时间格式化参数详解雇的辣客

格式化日期指的是将日期转为字符串,或将字符串转为日期,下面几个函数可以用来格式化日期

TO_CHAR(datetime, 'format')

TO_DATE(character, 'format')

TO_TIMESTAMP(character, 'format')

TO_TIMESTAMP_TZ(character, 'format')

SQL 产生的结果

SELECT TO_CHAR(current_timestamp, 'format') FROM DUAL;

Format

List item

YYYY-MM-DD

YYYY-MON-DD

2015-JUN-15

YYYY-MM-DD HH24:MI:SS FF3

YYYY-MM-DD HH24:MI:SS FF3 TZR

DS

DL

Monday, June 15, 2015

TS

1:18:10 PM

Oracle 支持哪些格式呢?看看下面的表格吧

Format

Description

年的最后一位数字,如:5

YY

年的最后两位数字,如:15

YYY

年的最后三位数字,如:015

YYYY

年,如:2015

Y,YYY

年用逗号分割

SYYYY

YEAR

年拼写,如:TWENTY FIFTEEN

SYEAR

年拼写,如:TWENTY FIFTEEN

ISO年的最后一位数字,如:5

IY

ISO年的最后两位数字,如:15

IYY

ISO年的最后三位数字,如:015

IYYY

ISO年,如:2015

RR

两位数字年,如:15

RRRR

四位数字年,如:2015

MM

Month (01-12)

MON

月份简称,如:JUN

MONTH

月份全称,如:JUNE

RM

罗马数字月份

Day of week (1-7)

DD

Day of month (1-31)

DDD

Day of year (1-366)

HH

Hour of day (1-12)

HH12

Hour of day (1-12)

HH24

Hour of day (0-23)

MI

Minute (0-59)

SS

Second (0-59)

SSSSS

Seconds past midnight

FF [1…9]

毫秒

DS

DL

日期全称,如:Friday, June 12, 2015

TS

CC

世纪,如:21

SCC

世纪,如:21

Quarter of year (1, 2, 3, 4)

Week of month (1-5)

WW

Week of year (1-53)

IW

ISO Week of year (1-52 or 1-53)

DY

星期简称,如:Fri

DAY

星期全称,如:Friday

AM

A.M.

PM

P.M.

AD

A.D.

BC

B.C.

TZD

夏令时

TZR

时区

TZH

时区之时差

TZM

时区之分钟差

EE

era 全称

era 简称

The number of days since January 1, 4712 BC

FM

去掉首尾空格

FX

精确匹配

秒和毫秒分隔符

TH

DDTH --> 4th

SP

DDSP -->FOUR

SPTH

DDSPTH --> FOURTH

THSP

DDTHSP --> FOURTH

默认情况下,Oracle 格式化日期时,有一定的容错性,如下面的 SQL 返回正确的结果。

2.         select to_char( to_date(222,'J'),'Jsp') from dual            显示Two Hundred Twenty-Two

4. 两个日期间的天数         select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;

5. 时间为null的用法        select id, active_date from table1        UNION        select 1, TO_DATE(null) from dual;          注意要用TO_DATE(null)

13.年月日的处理        select older_date,            newer_date,            years,            months,            abs(             trunc(              newer_date-              add_months( older_date,years*12+months )             )            ) days         from ( select             trunc(months_between( newer_date, older_date )/12) YEARS,             mod(trunc(months_between( newer_date, older_date )),12 ) MONTHS,             newer_date,             older_date             from (              select hiredate older_date, add_months(hiredate,rownum)+rownum newer_date                   from emp             )           )

14.处理月份天数不定的办法        select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual

16.找出今年的天数        select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual

闰年的处理方法        to_char( last_day( to_date('02'    | | :year,'mmyyyy') ), 'dd' )        如果是28就不是闰年

18.不同时区的处理        select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate        from dual;

19.5秒钟一个间隔        Select TO_DATE(FLOOR(TO_CHAR(sysdate,'SSSSS')/300) * 300,'SSSSS') ,TO_CHAR(sysdate,'SSSSS')        from dual

21.计算小时,分,秒,毫秒         select          Days,          A,          TRUNC(A*24) Hours,          TRUNC(A*24*60 - 60*TRUNC(A*24)) Minutes,          TRUNC(A*24*60*60 - 60*TRUNC(A*24*60)) Seconds,          TRUNC(A*24*60*60*100 - 100*TRUNC(A*24*60*60)) mSeconds         from         (          select          trunc(sysdate) Days,          sysdate - trunc(sysdate) A          from dual        )

select * from tabname        order by decode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss');          //        floor((date2-date1) /365) 作为年        floor((date2-date1, 365) /30) 作为月        d(mod(date2-date1, 365), 30)作为日.

25,trunc[截断到最接近的日期,单位为天] ,返回的是日期类型   select sysdate S1,                         trunc(sysdate) S2,                 //返回当前日期,无时分秒     trunc(sysdate,'year') YEAR,        //返回当前年的1月1日,无时分秒     trunc(sysdate,'month') MONTH ,     //返回当前月的1日,无时分秒     trunc(sysdate,'day') DAY           //返回当前星期的星期天,无时分秒   from dual

26,返回日期列表中最晚日期   select greatest('01-1月-04','04-1月-04','10-2月-04') from dual

28.更新时间     注:oracle时间加减是以天数为单位,设改变量为n,所以换算成年月,日     select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n*365,'yyyy-mm-dd hh24:mi:ss') as newTime from dual        //改变时间-年     select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),add_months(sysdate,n) as newTime from dual                                 //改变时间-月     select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n,'yyyy-mm-dd hh24:mi:ss') as newTime from dual            //改变时间-日     select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24,'yyyy-mm-dd hh24:mi:ss') as newTime from dual         //改变时间-时     select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24/60,'yyyy-mm-dd hh24:mi:ss') as newTime from dual      //改变时间-分     select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24/60/60,'yyyy-mm-dd hh24:mi:ss') as newTime from dual   //改变时间-秒

29.查找月的第一天,最后一天     SELECT Trunc(Trunc(SYSDATE, 'MONTH') - 1, 'MONTH') First_Day_Last_Month,       Trunc(SYSDATE, 'MONTH') - 1 / 86400 Last_Day_Last_Month,       Trunc(SYSDATE, 'MONTH') First_Day_Cur_Month,       LAST_DAY(Trunc(SYSDATE, 'MONTH')) + 1 - 1 / 86400 Last_Day_Cur_Month   FROM dual;

select sysdate,sysdate - interval '7' MINUTE from dual

select sysdate - interval '7' hour from dual

select sysdate - interval '7' day from dual

select sysdate,sysdate - interval '7' month from dual

select sysdate,sysdate - interval '7' year from dual

select sysdate,sysdate - 8 *interval '2' hour from dual

2.日期格式化参数详解

2.1 -/,.;: 指定返回字串分隔符

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

SQL> select to_char(sysdate,'yyyy+mm=dd') from dual;

TO_CHAR(SYSDATE,'YYYY+MM=DD')

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

2015+12=28

SQL> select to_char(sysdate,'yyyy-mm-dd') from dual;

TO_CHAR(SYSDATE,'YYYY-MM-DD')

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

2.2 AD/A.D. 公元标识

SQL> select to_char(sysdate,'AD yyyy-mm-dd') from dual;

TO_CHAR(SYSDATE,'ADYYYY-MM-DD'

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

SQL> select to_char(sysdate,'A.D. yyyy-mm-dd') from dual;

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

2.3 BC/B.C. 公元标识

SQL> select to_char(sysdate,'B.C. yyyy-mm-dd') from dual;

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

SQL> select to_char(sysdate,'BC yyyy-mm-dd') from dual;

TO_CHAR(SYSDATE,'BCYYYY-MM-DD'

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

2.4 AM/A.M. 子午线标识

SQL> select to_char(sysdate,'YYYY-MM-DD AM hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'YYYY-MM-DDAMH

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

2.5 PM/P.M. 子午线标识

SQL> select to_char(sysdate,'YYYY-MM-DD PM hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'YYYY-MM-DDPMH

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

2.6 CC/SCC 世纪标识,S前缀指定如遇公元前的显示,会在显示前加(-)

提示:

如果年份中最后两位数字在01到99(含)之间,则返回值等于年份前两位+1

如果年份中最后两位数字是00,则返回值与年份前两位相同

SQL> select to_char(sysdate,'cc YYYY-MM-DD PM hh24:mi:ss ') from dual;

TO_CHAR(SYSDATE,'CCYYYY-MM-DDP

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

2.7 D 获取日期星期几(范围:1-7)

SQL> select to_char(sysdate,'D YYYY-MM-DD PM hh24:mi:ss ') from dual;

TO_CHAR(SYSDATE,'DYYYY-MM-DDPM

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

2.8 DD 指定日期在当月中第几天(范围:1-31)

SQL> select to_char(sysdate,'DD YYYY-MM-DD PM hh24:mi:ss ') from dual;

TO_CHAR(SYSDATE,'DDYYYY-MM-DDP')

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

2.9 DDD 指定日期在当年中的第几天(范围:1-366)

SQL> select to_char(sysdate,'DDD YYYY-MM-DD PM hh24:mi:ss ') from dual;

TO_CHAR(SYSDATE,'DDDYYYY-MM-DD')

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

2.10 DAY 指定日期在周中的名称

select to_char(sysdate,'Day YYYY-MM-DD PM hh24:mi:ss ') from dual;

TO_CHAR(SYSDATE,'DAYYYYY-MM-DD')

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

2.11 MON 返回指定日期的月份简写

SQL> select to_char(sysdate,'MON YYYY-MM-DD PM hh24:mi:ss ') from dual;

TO_CHAR(SYSDATE,'MONYYYY-MM-DD')

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

2.12 MONTH 返回指定日期的月份全称

SQL> select to_char(sysdate,'MONTH YYYY-MM-DD PM hh24:mi:ss ') from dual;

TO_CHAR(SYSDATE,'MONTHYYYY-MM-')

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

2.13 MM 返回指定日期的月份(范围:1-12)

SQL>  select to_char(sysdate,'MM') from dual;

TO_CHAR(SYSDATE,'MM')

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

12

2.14 HH 小时(范围:1-12)

SQL>  select to_char(sysdate,'HH') from dual;

TO_CHAR(SYSDATE,'HH')

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

06

2.15 HH12 小时(范围:1-12)

select to_char(sysdate,'HH12') from dual;

TO_CHAR(SYSDATE,'HH12')

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

06

2.16 HH24 小时(范围:0-23)

SQL> select to_char(sysdate,'HH24') from dual;

TO_CHAR(SYSDATE,'HH24')

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

18

2.17 MI 返回指定时间的分钟(范围0-59)(注意java表示分钟是mm,月份是MM,而Oracle表示分钟是mi,月份是MM)

SQL> select to_char(sysdate,'MI') from dual;

TO_CHAR(SYSDATE,'MI')

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

59

2.18 SS 返回指定时间的秒数(范围:0-59)

SQL> select to_char(sysdate,'SS') from dual;

TO_CHAR(SYSDATE,'SS')

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

13

2.19 FF[1-9] 返回毫秒数,可指定长度1-9,默认6位(Oracle中date类型没有毫秒,用这个格式会报错,timestamp才有毫秒)

SQL> select to_char(SYSTIMESTAMP,'FF9') from dual;

TO_CHAR(SYSTIMESTAMP,'FF9')

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

487000000

SQL> select to_char(SYSTIMESTAMP,'FF4') from dual;

TO_CHAR(SYSTIMESTAMP,'FF4')

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

4740

SQL> select to_char(SYSTIMESTAMP,'FF6') from dual;

TO_CHAR(SYSTIMESTAMP,'FF6')

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

032000

2.20 Y,YYY 返回有逗号分隔显示的年

SQL> select to_char(SYSTIMESTAMP,'Y,YYY') from dual;

TO_CHAR(SYSTIMESTAMP,'Y,YYY')

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

2,015

2.21 Y/YY/YYY/YYYY 以指定长度返回日期的年份

SQL> select to_char(sysdate,'Y') from dual;

TO_CHAR(SYSDATE,'Y')

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

SQL> select to_char(sysdate,'YY') from dual;

TO_CHAR(SYSDATE,'YY')

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

15

SQL> select to_char(sysdate,'YYY') from dual;

TO_CHAR(SYSDATE,'YYY')

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

015

SQL> select to_char(sysdate,'YYYY') from dual;

TO_CHAR(SYSDATE,'YYYY')

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

2015

2.22 W 返回指定日期在当月中的第X周(范围:1-5)

SQL> select to_char(sysdate,'W') from dual;

TO_CHAR(SYSDATE,'W')

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

2.23 WW 返回指定日期在当年中的第X周(范围:1-53)

SQL> select to_char(sysdate,'WW YYYY-MM-DD') from dual;

TO_CHAR(SYSDATE,'WWYYYY-MM-DD'

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

2.24 IW 指定日期在当年中第X周(范围:1-52或1-53(润年))

SQL> select to_char(sysdate,'IW YYYY-MM-DD') from dual;

TO_CHAR(SYSDATE,'IWYYYY-MM-DD'

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

2.25 Q 返回指定日期的季度(范围:1-4)

SQL> select to_char(sysdate,'Q YYYY-MM-DD') from dual;

TO_CHAR(SYSDATE,'QYYYY-MM-DD')

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

2.26 DY 返回星期简写(也可以用DAY)

SQL> select to_char(sysdate,'DY  YYYY-MM-DD') from dual;

TO_CHAR(SYSDATE,'DYYYYY-MM-DD'

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

SQL> alter session set nls_language='AMERICAN';

Session altered

SQL> select to_char(sysdate,'dy') from dual;

THE END
0.历史上的今天2001年7月13日,北京申奥成功历史上的今天|2001年7月13日,北京申奥成功。该视频获得675人点赞,发生了什么事,快来看看吧!|sina.cnjvzquC41xkjfq7xkpc4dp8sgyu532;:/293258igvcom/rshhjvjuA>363=40m3jvor
1.2001年7月13日,北京市获得了第29届奥运会的主办权,这一天是星期五因为2001年7月13日是星期五.又365÷7=52…1,2004年和2008年均为闰年,比其他几年的2月份多1天.又2008年距2001年共7年时间.所以2008年的7月13日应是(5+7+2)÷7=2…0=1…7,即2008年的7月13日是星期日,故选:D. 试题解析: 根据365÷7=52…1,得出一年后是星期几,再根据2004年和2008年均为闰年,jvzq<849;6930lto1ykofj45h9;12o<6428b5=60jvsm
2.历史上的今天|2001年7月13日,北京申奥成功视频信息41,730 发布时间:2025-07-13 07:52:28 来源:澎湃新闻 频道: 新闻中心 / 新闻视频 标签: 奥运会 申奥成功 北京 中国 简介: 2001年7月13日晚,在莫斯科召开的国际奥委会第112次全会上,时任国际奥委会主席萨马兰奇宣布,北京以56票获得2008年第二十九届夏季奥运会主办权。293条评论|383人参与我有 jvzquC41xkjfq7xkpc4dqv3ep1v0pn|u14637659/390fnyckn3jpokjrky9;:93954e0qyon
3.2001年7月13日老黄历查询,2001年7月13日万年历黄道吉日提供2001年7月13日老黄历查询,黄历每日吉凶宜忌查询、农历查询、黄道吉日查询、时辰凶吉查询,提供免费搬家吉日查询、入宅吉日查询、结婚吉日查询、开业吉日查询等内容。jvzquC41yy}/d~~klw4dqv4njn53296/9/740qyon
4.2001年7月13日出生的属蛇人是什么命?今日命运好吗2001年7月13日的人属什么生肖,今年多少岁? 2001是辛巳年,此年出生的人属蛇,到2023年是22岁。 2001年7月13日此日出生的人称骨算命 袁天罡称骨算命,年重6钱,月重5钱,日重8钱,时重16钱,所以今天出生的人骨重为3两5钱命。(以子时为列) 2001年7月13日诞生的人财运如何? jvzquC41o0nonrfplkg/ew4d||y0497527651@76:54ivvq
5.系列介绍35:历史上的十月2001年10月13日 我国高性能计算机芯片“龙芯”问世 2001年10月13日,我国第一款通用式计算机中央处理器(CPU)———“龙芯”问世。专家指出,“龙芯”的性能虽只与国际芯片业老大英特尔的奔腾II相当,但由于我国拥有完全的知识产权,所以对自主发展信息技术产业和国家安全具有重大意义。CPU是计算机系统中的“心脏”。我国市jvzquC41nkh/p}tw0gjv0ls14285196241i8;=f44:681yfig0nuo
6.2001年06月13日出生的人的性格命运公历生日2001年06月 2001-06-13(更改时间)日出生算命信息农历出生时间 冬藏之蛇(纳音),机谋多变,有志气,一生衣食无亏有贵人扶持,晚年快乐。辛巳年出生 五月出生的人,前年八月受胎,芒种节后出生,此命有权势,八面威风,且性格刚强,心有机谋,有权势,行正道,贵人提拨,但虑凡语冲口而出自坏自事,又因为人冷热不定,作jvzq<84ohus/mtx0eun1o}14262/9;/355
7.现代互联网塑造者!全面复盘Google20年历程快科技2010年3月22日:Google搜索退出大陆 2010年3月22日,Google将Google.cn网站重定向至Google.com.hk。 2010年8月13日:甲骨文对Google提起诉讼 这一天,甲骨文公司起诉Google,拉开了一桩长达8年以上,至今仍未结束的诉讼。许多人担心,如果Google败诉,所有软件开发商将受到灾难性影响。 jvzquC41pg}t0v~ftk|ft|3eqo521>>517?4:>90jvs
8.百利电气(600468)上市公司新浪财经会三届二十五次会议的通知于2007年12月7日发出,并于2007年1 2月13日在天津百利特精电气股份有限公司以现场方式召开。应出席 会议的董事7名,实际出席会议的董事 6 名,张玉利独立董事委托陈 建国独立董事代行表决权。会议由董事长张文利先生主持,公司全体 jvzq<84hkpgoen3ukpg/exr0ep5tvxhm1u5329<343<04;6;3:<49><0ujznn
9.申奥承诺2001年7月13日 申奥大使杨澜代表中国承诺奥运圣火将登顶珠峰 2001年7月13日,在申办2008年第29届奥运会的国际奥委会112次全会上,中国申奥大使杨澜代表中国向全世界陈述:“基于丝绸之路带来的灵感,我们的火炬接力将开创新局面,从奥林匹亚山,途经人类古老的文明发源地??希腊、罗马、埃及、拜占庭、美索不达尼亚、波斯、阿jvzquC41yy}/7@ykdgz/exr1vkhfv8mvon5329=7;3763=7/30nuou
10.最高人民法院关于在执行中如何计算迟延履行期间债务利息等问题的一、司法解释1991年8月13日法(民)[1991]21号《借贷案件意见》:第六条规定:民间借贷的利率可以适当高于银行的利率,各地人民法院可根据本地区的实际情况具体掌握,但最高不得超过银行同类贷款的四倍(注释:民间借贷的利率只能在银行同类贷款利率的四倍内浮动。各地人民法院可行文规定使本地区利率不达四倍,应经高院审批jvzquC41ejooc7kkpfrby7hp1ngx{nwu1cxuklqg1f987<=0jvsm
11.2007执业护士资格考试全真模拟试题54.某女末次月经为2001年7月3日(阳历),请推算预产期 A.2002年4月10日 B.Zo02年5月10日 C.2002年4月18日 D.2002年6月10日 E.2002年4月13日 55.临产的标志是 A.不规律宫缩 B.见红 C.破水 D.有规律宫缩 E.宫口开全 56.流产的主要原因是 jvzq<84yyy4zwutq0eun1wjyu1812@228/761;=2864ivvq
12.21类货物适用13%的增值税低税率(2017年7月1日前)21类货物适用13%的增值税低税率(2017年7月1日前) 摘要: 2009年增值税全国转型改革正式实施后,财政部和国家税务总局依据条例规定,对增值税13%低税率的适用范围进行了必要调整。调整后增值税13%低税率的适用范围覆盖了21类货物。 一.粮食 粮食是指各种主食食科植物果实的总称jvzquC41yy}/uqzk70io1jwvkerf1mk146<74-80jvsm
13.全景网资本市场一站式综合服务平台资本“锡”引力 科创新高地——首届无锡上市公司投资者集体接待日 集体接待日 2025-11-05 15:50 走进凤凰传媒,探秘文化国企数字化转型先行者! 全年总成交额近6万亿!这只ETF平均每日成交20亿,2023年深市ETF可圈可点|数据看深市 越跌越买!这只ETF又居榜首,深市ETF7月数据出炉丨数据看深市 jvzquC41yy}/r>|0pgz0
14.6月商业地产大事件:福州、海口印象城等10余个购物中心开业,长沙2018年,青岛百丽广场宣布停止营业。2019年,北京市第三中级人民法院发布百丽广场西区部分标的物的拍卖公告,变卖周期60天;最近的两次是在4月13日至6月12日的变卖,价格约3.33亿元,均流拍。 万科23亿入股白石洲旧改项目三四期 系深圳最大城市更新项目 6月7日,绿景中国宣布,万科注资23亿元入股公司旗下的深圳白石洲旧改项jvzquC41pg}t0qjzwp4dqv44248.2@2271818;>85;?/j}rn