除了字符、数值和日期函数外,Oracle 还提供转换函数。转换函数将值从一种数据类型转换为另一种数据类型。Oracle 所提供的一些转换函数如下所示。
1.TO_CHAR(d [, fmt ])
将 DATE 数据类型的“d”转换为 VARCHAR2 数据类型的值,格式由日期格式“fmt”所指定。如果省略了“fmt”,则将 d 按照默认的日期格式转化为 VARCHAR2 值。 示例
/*找出在(任何年份的)2月受聘的所有员工*/
select *from emp
where
to_number(to_char(hiredate,'mm')) = 2
2.TO_CHAR(n [, fmt ])
使用可选的数字格式“fmt”将 NUMBER 数据类型的“n”转换成为 VARCHAR2 数据类型的值。如果省略了“fmt”,则将 n 转换为长度刚好为其有效数字位数的 VARCHAR2 值。 示例
3.TO_NUMBER(char [,fmt ])
将包含一个数字的 CHAR 或 VARCHAR2 数据类型的“char”转换为格式“fmt”所指定的格式,即 NUMBER 数据类型。 示例
/*将字符型的 '12' 转换为 number 类型*/
select to_number('12') as num from dual
4.TO_DATA(char,fmt)
将CHAR或VARCHAR2值转换为一指定格式的日期类型的值。 示例
/*将字符类型的 '2013-10-22'按照 'yyyy-mm-dd'的格式转换为 date类型*/
select to_date('2013-10-22','yyyy-mm-dd') as "date" from dual
附,日期格式:
Year:
yy two digits 两位年 显示值:07
yyy three digits 三位年 显示值:007
yyyy four digits 四位年 显示值:2007
Month:
mm number 两位月 显示值:11
mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov
month spelled out 字符集表示 显示值:11月,若是英文版,显示november
Day:
dd number 当月第几天 显示值:02
ddd number 当年第几天 显示值:02
dy abbreviated 当周第几天简写 显示值:星期五,若是英文版,显示fri
day spelled out 当周第几天全写 显示值:星期五,若是英文版,显示friday
ddspth spelled out, ordinal twelfth
Hour:
hh two digits 12小时进制 显示值:01
hh24 two digits 24小时进制 显示值:13
Minute:
mi two digits 60进制 显示值:45
Second:
ss two digits 60进制 显示值:25
其它
Q digit 季度 显示值:4
WW digit 当年第几周 显示值:44
W digit 当月第几周 显示值:1
==================================================================
学习中!!!!!!!!!!!!!!!!!!!
==================================================================