A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 许庭洲 于 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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马