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>