不同数据类型之间的隐含转换

文章讲述了Oracle数据库在处理数据类型转换时的隐含规则,包括VARCHAR2和CHAR转NUMBER或DATE,以及反之的转换。强调了避免使用隐含转换以提高代码可读性和维护性,同时指出Oracle新版本可能修改转换规则,可能影响程序移植。
摘要由CSDN通过智能技术生成

赋值语句中数据类型之间的隐含转换(Oracle 自动转换):

■ 将变长字符型(VARCHAR2)或定长字符型(CHAR)转换成数字型(NUMBER);

■ 将变长字符型(VARCHAR2)或定长字符型(CHAR)转换成日期型(DATE);

■ 将数字型(NUMBER)转换成变长字符型(VARCHAR2);

■ 将日期型(DATE)转换成变长字符型(VARCHAR2)。

表达式中(Oracle自动转换):

■ 将变长字符型(VARCHAR2)或定长字符型(CHAR)转换成数字型(NUMBER);

■ 将变长字符型(VARCHAR2)或定长字符型(CHAR)转换成日期型(DATE)。

在将字符类型的数据转换为数字型时,要保证字符型数据为有效的数。在将字符类型的数据转换为日期型时,要保证字符型数据为有效的日期,否则转换不能成功。

数字型(NUMBER)的数据与日期型(DATE)的数据之间不能进行直接转换。必须将其中的一种数据类型先转换成字符型,之后再将字符型转换成其中的另一种数据类型。注意:

尽管Oracle提供了数据类型之间的隐含转换方法,但读者应该尽量避免使用这种方法。因为用隐含转换方法写出来的SQL语句其他的人很难理解,随着时间的流逝连您自己都很难理解,特别是当SOL语句嵌在大型程序中时。另外,Oracle推出新的版本时可能会修改一些隐含转换的规则,这会使您的程序的移植遇到麻烦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值