转换函数
转换函数将值从一种数据类型转换为另外一种数据类型。在Oracle 中常用的转换函数主要有三个:TO_CHAR 、TO_DATE 和TO_NUMBER。
1、TO_CHAR() 本函数又可以分三小类,分别是
<1> 转换字符‐ >字符TO_CHAR(c) :将 nchar,nvarchar2,clob,nclob 类型转换为char 类型;
例如:SELECT TO_CHAR('AABBCC' ) FROM dual;
<2> 转换时间‐ >字符TO_CHAR(d[,fmt]):将指定的时间按照指定格式转换为 varchar2类型;
例如:SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss' ) FROM dual;
<3> 转换数值‐ >字符TO_CHAR(n[,fmt]):将指定数值n 按照指定格式 fmt 转换为varchar2 类型并返回;
例如:SELECT TO_CHAR(- 100 , 'L99G999D99MI') FROM dual;
2 、TO_DATE(c[,fmt[,nls]]) 将char,nchar,varchar2,nvarchar2 转换为日期类型,如果 fmt 参数不为空,则按照fmt 中指定格式进行转换。注意这里的fmt 参数。如果 ftm 为'J' 则表示按照公元制(Julian day) 转换,c 则必须为大于0 并小于 5373484 的正整数。
例如:
SELECT TO_DATE(2454336, 'J' ) FROM dual;
SELECT TO_DATE('2007-8-23 23:25:00' , 'yyyy-mm-dd hh24:mi:ss' )
FROM dual;
3 、TO_NUMBER(c[,fmt[,nls]]) 将char,nchar,varchar2,nvarchar2 型字串按照 fmt 中指定格式转换为数值类型并返回。
例如:SELECT TO_NUMBER('-100.00', '9G999D99' ) FROM dual;
TO_DATE 中用到的格式:
YYYY 表示年
MM 表示月
DD表示日期
HH24表示0‐23小时
MI表示分钟
SS 表示秒
不区分大小写