SQL语句——05、类型转换函数
类型转换概述 在赋值语句中数据类型会隐式转换,隐式转换应当尽量避免,因为写出来的SQL难理解,随着时间流逝自己都很难理解。特别是嵌入到大型程序中时,另外,oracle升级会修改隐式转换的规则,这会使程序移植遇到问题。 尤其是索引列不能使用隐式转换,这样就不走索引 。 赋值语句中oracle的自动转换规则: 将变长字符型(varchar2)或定长字符型(char)转换成数值型(number) 将变长字符型(varchar2)或定长字符型(char)转换成日期型(date) 将数值型(number)转换成变长字符型(varchar2) 将日期型(date)转换成变长字符型(varchar2) 表达式中oracle的自动转换规则: 将变长字符型(varchar2)或定长字符型(char)转换成数值型(number) 将变长字符型(varchar2)或定长字符型(char)转换成日期型(date) 转换成功的条件: 在将字符型数据转换成数字型时,要保证字符型数据为有效的数。 在将字符型数据转换成日期型时,要保证字符型数据位有效的日期。 ----拿字符和数字比较 oracle自动将字符串转成了数字 SQL> select ename,sal from emp where sal > '4000'; ENAME SAL ---------- ---------- KING 5000 ---