首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

to_char的返回类型解决思路

2013-10-10 
to_char的返回类型select * from emp1 where to_char(hiredate,mm)2请教一下,to_char的返回类型和2的类

to_char的返回类型
select * from emp1 where to_char(hiredate,'mm')=2
请教一下,to_char的返回类型和2的类型,他们怎么能判断相等
[解决办法]
上面这种情况 oracle一般都会通过隐式转换 将to_char(hiredate,'mm')转换成number类型

如果是to_char(hiredate,'mm')='2' 那么就不用转换 也查不出来值 

一般常见的隐式转换有3种:
1、在select语句中,oracle会把字段的数据类型隐式转换为变量的数据类型。
2、在字符型和数值型的值做比较时,oracle会把字符型的值隐式转换为数值型
3、在字符型和日期型的数据做比较时,oracle会把字符型转换为日期型

 当出现转换不了的时候 就会报错 所以很多报错是在转换失败的情况下产生。

热点排行