1 隐式数据类型转换
ORACLE自动完成以下转换,date与varchar2与number之间的自动转换,比如日期与数字的加减法。
2 显示数据类型转换
2.1 字符型转换为日期型 TO_DATE
'yyyy-mm-dd'
'yyyy/mm/dd'
'yyyy"年"mm"月"dd"日"'
2.2 字符型转换为数字型 TO_NUMBER
to_number('1,234,567.89','999,999,999.99')
2.3 日期型或数字型转换为字符型 TO_CHAR
2.3.1 数字转换为字符
9:数字
0:零补齐
$:美元符号
L:本地货币符号
.:小数点
,:千位符
例1:格式化数字,使数字型1234567.89转为字符型'1,234,567.89'。
to_char(1234567.89,'999,999,999.99')
输出:
'1,234,567.89'
例2:把数字型1234567.89转为字符型,并用0补齐不足三位的地方。
to_char(1234567.89,'000,000,000.00')
输出:
'001,234,567.89'
例3:把数字型1234567.89转为字符型,并表示工资是美元。
to_char(1234567.89,'$999,999,999.99')
输出:
'$1,234,567.89'
例4:把数字型1234567.89转为字符型,并表示工资是当地的货币符号。(L表示local)
to_char(1234567.89,'L999,999,999.99')
输出:
'¥1,234,567.89'
2.3.2 日期转换为字符
例:打印出“2009年10月14日 9:25:40” 格式的当前系统的日期和时间。
select to_char(sysdate,'yyyy"年"mm"月"dd"日" hh:mi:ss')
from dual