本帖最后由 许庭洲 于 2012-10-9 15:34 编辑
Oracle中也有一个名称为CONVERT()的函数,不过这个函数是用来进行字符集转换的。
Oracle中不支持用做数据类型转换的CAST()和CONVERT() 两个函数,它提供了针对性更强的
类型TO_CHAR(),TO_DATE(),TO_NUMBER()等函数,这些函数可以将数据显示的转换为字符串
类型,日期时间类型或者数值类型。Oracle中还提供了HEXTORAW(),RAWTOHEX
(),TO_MULTI_BYTE(),TO_SINGLE_BYTE()等函数用于存储格式的转换。
.TO_CHAR()
TO_CHAR()函数用来将时间日期类型或者数值类型的数据转换为字符串,其参数格式如下:
TO_CHAR(expression,format)
参数expression为待转换的表达式,参数format为转换后的字符串格式,参数format可以省略,如果省略参数format将会按照数据库系统内置的转换规则进行转换。参数format的可以采用的格式非常丰富,具体可以参考Oracle的联机文档。
下面的SQL语句将出生日期和身高按照不同的格式转换为字符串类型:
SELECT FBirthDay,TO_CHAR(FBirthDay,'YYYY-MM-DD') as c1,FWeight,TO_CHAR(FWeight,'L99D99MI') as c2,TO_CHAR(FWeight) as c3 FROM T_Person
执行完毕就能在输出结果中看到下面的执行结果:
FBIRTHDAY C1 FWEIGHT C2 C3
1981-03-22 00:00:00.0 1981-03-22 56.67 ¥56.67 56.67
1987-01-18 00:00:00.0 1987-03-22 36.17 ¥36.17 36.17
1987-11-08 00:00:00.0 1987-11-08 40.33 ¥40.33 40.33
1982-07-12 00:00:00.0 1982-07-12 46.23 ¥46.23 46.23
1983-02-16 00:00:00.0 1983-02-16 48.68 ¥48.68 48.68
1984-08-07 00:00:00.0 1984-08-07 66.67 ¥66.67 66.67
1980-01-09 00:00:00.0 1980-01-09 51.28 ¥51.28 51.28
1972-07-18 00:00:00.0 1972-07-18 60.32 ¥60.32 60.32
关于ORACLE数据库TO_DATE()函数
TO_DATE()函数用来将字符串转换为时间类型,其参数格式如下:
TO_DATE(expression,format):参数expression为待转换的表达式,参数format为转换格式,参数format可以省略,如果省略参数format将会按照数据库系统内置的转换规则进行转换。
下面的SQL语句用于将字符串形式的数据按照特定的格式解析为日期类型:
SELECT TO_DATE('2008-08-08 08:09:10','YYY-MM-DD HH24:MI:SS') as dt1,TO_DATE('20080808 080910','YYYMMDD HH24:MI:SS') as dt2 FROM DUAL
执行完毕就能在输出结果中看到下面的执行结果:
TD1 TD2
2008-08-08 08:09:10.0 2008-08-08 08:09:10.0
|
|