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

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

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

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

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

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

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/m0_73505947/article/details/129520635