|
本质上讲不是执行计划的问题,这就是在把字符类型数据隐式转换成数值数据的过程中,有的字符数据不能转换成数值而发生的错误。
楼主的: select * from idap_dimension_detail where dim_type='jx002' and dim_code = 791 ;
和
select * from ( select * from tt_dim_002 where dim_type='jx002') where dim_code = 791
都是先通过条件dim_type='jx002'把dim_code中不能转换成数值的数据过滤掉了,剩下的都是能转换成数值的数据了,所以不出错。
YONGHUANG 版主的问题确实有点意思,大概是和两行的顺序有关的:
对1,x,由于系统读到x时,系统已经知道没有其他记录了,所以就出了个结论“no rows selected”;
对x,1,当系统读到x时就出错了,表中还有其他记录没读,所以就只报告了错误,但没出“no rows selected”结论。 |
|