liguangsunls

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


1、          TO_CHAR

语法:TO_CHAR(X [,format])

说明:将Xformat格式转换成字符串。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的取值为DAYHOURMINUTESECONDC的大写和小写无关

举例:

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的取值为YEARMONTHC的大写和小写无关

举例:

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 、    ADBC

说明:公元前或公元后

举例:

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

A

-----------

2014 公元

 

9.2、     AMPM

说明:上午或下午

举例:

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、    DYDyDAYDay

说明:星期(缩写、大写)和星期(缩写、首字母大写)和星期全拼(大写)和星期全拼(首字母大写),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、    DDDDDD

说明: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、     WWW

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

举例:

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

A B

- --

3 25

9.6、    MMMONMONTHMonth

说明: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、   YYYYYYYYYYY,YYYYEARYear

说明:YYYY4位数表示的年。YYYYYY年中的最后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、     HHHH12HH24MISSSSSSS

说明:HHHH12 12小时格式的小时、HH2424小时格式的小时,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

发表于 2017-04-24 16:55  liguangsunls  阅读(2221)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章: