您的位置:首页 > 数据库 > Oracle

ORACLE函数之日期时间转换函数

2014-06-20 14:59 381 查看


1、 TO_CHAR

语法:TO_CHAR(X [,format])

说明:将X按format格式转换成字符串。X是一个日期或者数字,format是一个规定了X采用何种格式转换的格式字符串

举例:

SQL>SELECT TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi:ss') A FROM DUAL;

A

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

2014-06-1815:58:43

2、 TO_DATE

语法:TO_DATE(C [,format])

说明:将符合format指定的特定日期格式的字符串C转换成DATE类型的数据

举例:

SQL>SELECT TO_DATE('2014-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') A FROM DUAL;

A

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

2014/5/713:23:44

3、 TO_DSINTERVAL

语法:TO_DSINTERVAL (C)

说明:将符合特定格式的字符串C转换成INTERVAL
DAY TO SECOND类型的数据,TO_DSINTERVAL(fmt)
转换一个格式字符串为一个内部的 DAY—>SECOND

举例:

1)加上当前时间的天时分秒

SQL>select sysdate+TO_DSINTERVAL(to_char(sysdate,'DD hh24:mi:ss')) A from dual;

A

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

2014/7/93:12:32

2)加上10天

SQL>select
sysdate+TO_DSINTERVAL('1000:00:00') A from dual;

A

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

2014/6/2913:36:25

4、 NUMTODSINTERVAL

语法:NUMTODSINTERVAL(N,C)

说明:把数字N转换成C指定的INTERVAI
DAY TO SECOND类型的数据。C的取值为DAY,HOUR,MINUTE和SECOND。C的大小写无关

举例:

SQL>SELECT SYSDATE+NUMTODSINTERVAL(10,'DAY') A1,SYSDATE+NUMTODSINTERVAL(10,'HOUR')A2,SYSDATE+NUMTODSINTERVAL(10,'MINUTE')A3,SYSDATE+NUMTODSINTERVAL(10,'SECOND')A4
FROM DUAL;

A1
A2 A3
A4

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

2014/6/2917:00:27
2014/6/20 3:00:27 2014/6/19 17:10:2 2014/6/19 17:00:37

5、 NUMTOYMINTERVAL

语法:NUMTOYMINTERVAL(N,C)

说明:把数字N转换成C指定的INTERVAL
YEAR TO MONTH类型的数据。C的取值为YEAR,MONTH。C的大小写无关

举例:

SQL>SELECT SYSDATE+NUMTOYMINTERVAL(10,'YEAR')A1,SYSDATE+NUMTOYMINTERVAL(10,'MONTH') A2FROM DUAL;

A1
A2

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

2024/6/1917:02:39 2015/4/19 17:02:39

6、 TO_TIMESTAMP

语法:TO_TIMESTAMP(C [,format])

说明:将字符串C转换为一个时间戳数据类型

举例:

SQL>SELECT TO_TIMESTAMP('2014-06-20 12:11:11','YYYY-MM-DD HH24:MI:SS') A from dual;

A

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

20-6月-14 12.11.11.000000000
下午

7、 TO_TIMESTAMP_TZ

语法:TO_TIMESTAMP_TZ(C [,format])

说明:将符合format指定的特定日期格式的字符串C转换日期字符串为带时区的时间戳类型

举例:

SQL>SELECT
TO_TIMESTAMP_TZ('2014-06-2011:00:00','YYYY-MM-DD HH:MI:SSTZH:TZM') A FROM DUAL;

A

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

20-6月-14 11.00.00.000000000
上午 +08:00

8、 TO_YMINTERVAL

语法:TO_YMINTERVAL(C)

说明:将符合特定格式的字符串c转换成INTERVAL
YEAR TO MONTH类型的数据

举例:

SQL>SELECT
SYSDATE+TO_YMINTERVAL('01-01') AFROM DUAL;

A

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

2015/7/2014:35:17

9、 format常用的日期时间格式代码及其说明

9.1 、 AD或BC

说明:公元前或公元后

举例:

SQL>SELECT TO_CHAR(SYSDATE,'YYYY AD') A FROM DUAL;

A

-----------

2014
公元

9.2、 AM或PM

说明:上午或下午

举例:

SQL>SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH12 PM') A,TO_CHAR(SYSDATE,'YYYY-MM-DDHH12') B FROM DUAL;

A
B

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

2014-06-2002
下午2014-06-20 02

9.3、 DY和Dy和DAY和Day

说明:星期(缩写、大写)和星期(缩写、首字母大写)和星期全拼(大写)和星期全拼(首字母大写),PS:我的电脑是简体中文,所以都显示星期五

举例:

SQL>SELECT TO_CHAR(SYSDATE,'DY') A,TO_CHAR(SYSDATE,'Dy') B,TO_CHAR(SYSDATE,'DAY')C,TO_CHAR(SYSDATE,'DAY') D FROM DUAL;

A
B C D

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

星期五
星期五 星期五
星期五

9.4、 D和DD和DDD

说明:D本周中的第几天(星期几),DD本月中的第几天,DDD本年中的第几天

举例:

SQL>SELECT TO_CHAR(SYSDATE,'D') A,TO_CHAR(SYSDATE,'DD') B,TO_CHAR(SYSDATE,'DDD') CFROM DUAL;

AB
C

- -----

6 20171

9.5、 W和WW

说明:W本月中的第几周,WW本年中的第几周

举例:

SQL>SELECT TO_CHAR(SYSDATE,'W') A,TO_CHAR(SYSDATE,'WW') B FROM DUAL;

A B

- --

3 25

9.6、 MM和MON和MONTH和Month

说明:MM两位数表示的月份,MON月份(缩写),MONTH月份全拼(大写),Month月份全拼(首字母大写)

举例:

SQL>SELECT TO_CHAR(SYSDATE,'MM') A,TO_CHAR(SYSDATE,'Mon')B,TO_CHAR(SYSDATE,'MONTH') C,TO_CHAR(SYSDATE,'Month') D FROM DUAL;

A
B C D

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

06 6月
6月 6月

9.7、 YYYY和YYY、YY、Y和Y,YYY和YEAR和Year

说明:YYYY4位数表示的年,YYY、YY、Y年中的最后3.2.1位,Y,YYY年份。用逗号进行分位,YEAR年份全拼(大写),Year年份全拼(首字母大写)

举例:

SQL>SELECT TO_CHAR(SYSDATE,'YYYY') A,TO_CHAR(SYSDATE,'YYY') B,TO_CHAR(SYSDATE,'YY')C,TO_CHAR(SYSDATE,'Y') D ,TO_CHAR(SYSDATE,'YEAR') E,TO_CHAR(SYSDATE,'Year')
FFROM DUAL;

A
B C D E
F

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

2014014 14 4 TWENTY FOURTEEN
Twenty Fourteen

9.8、 HH、HH12和HH24和MI和SS和SSSSS

说明:HH、HH12
为12小时格式的小时、HH24为24小时格式的小时,MI小时中的分钟,SS为分钟中的秒,SSSSS一天中的秒

举例:

SQL>SELECT TO_CHAR(SYSDATE,'HH') A,TO_CHAR(SYSDATE,'HH12')B,TO_CHAR(SYSDATE,'HH24') C,TO_CHAR(SYSDATE,'MI') D ,TO_CHAR(SYSDATE,'SS')E,TO_CHAR(SYSDATE,'SSSSS')
F FROM DUAL;

A
B C D
E F

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

02 0214 59 32 53972
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: