一个奇怪的查询语句解决方法

一个奇怪的查询语句
select *
  from tb_evt_dlv a, sncn_zd_jg b,tb_evt_mail_clct c
 where a.mail_num=c.mail_num
   and a.dlv_date between to_date('2013-3-10','yyyy-mm-dd') and to_date('2013-3-10','yyyy-mm-dd')
   and a.dlv_sts_code='I'
   and a.dlv_bureau_org_code =b.zj_code
   and a.dlv_bureau_org_code like '230073%'
   and a.dlv_staff_name like '%'
上面语句可以正常执行,下面这个语句却报错:ORA-03113
select *
  from tb_evt_dlv a, sncn_zd_jg b,tb_evt_mail_clct c
 where a.mail_num=c.mail_num
   and a.dlv_date between to_date('2013-3-10','yyyy-mm-dd') and to_date('2013-3-10','yyyy-mm-dd')
   and a.dlv_sts_code='I'
   and a.dlv_bureau_org_code =b.zj_code
   and a.dlv_bureau_org_code like '23007300%'
   and a.dlv_staff_name like '%'
两个语句的差别就是机构号字段条件值由‘230073%’改为‘23007300%’,23007300这个机构是存在的,用其他存在的机构或者不存在的机构号都没有问题,就是这个机构号有问题,用‘2300730%’(少一个0)也会报同样的错误,但是长度短一点,比如‘2300%’也可以正常查询,按说‘2300%’的查询结果应该包含‘23007300%’的查询结果,为甚会报错呢?
------解决方案--------------------
看起来是ORACLE的BUG
------解决方案--------------------
引用:
select *
  from tb_evt_dlv a, sncn_zd_jg b,tb_evt_mail_clct c
 where a.mail_num=c.mail_num
   and a.dlv_date between to_date('2013-3-10','yyyy-mm-dd') and to_date('2013-3-10','yyyy-mm-dd')
   and a.dlv_sts_code='I'
   and a.dlv_bureau_org_code =b.zj_code
   and a.dlv_bureau_org_code like '230073%'
   and a.dlv_staff_name like '%'
上面语句可以正常执行,下面这个语句却报错:ORA-03113
select *
  from tb_evt_dlv a, sncn_zd_jg b,tb_evt_mail_clct c
 where a.mail_num=c.mail_num
   and a.dlv_date between to_date('2013-3-10','yyyy-mm-dd') and to_date('2013-3-10','yyyy-mm-dd')
   and a.dlv_sts_code='I'
   and a.dlv_bureau_org_code =b.zj_code
   and a.dlv_bureau_org_code like '23007300%'
   and a.dlv_staff_name like '%'
两个语句的差别就是机构号字段条件值由‘230073%’改为‘23007300%’,23007300这个机构是存在的,用其他存在的机构或者不存在的机构号都没有问题,就是这个机构号有问题,用‘2300730%’(少一个0)也会报同样的错误,但是长度短一点,比如‘2300%’也可以正常查询,按说‘2300%’的查询结果应该包含‘23007300%’的查询结果,为甚会报错呢?

我觉得是条件不同导致执行SQL时所耗资源不同而造成的错误,跟SQL本身的语法没有关系,网上有很多这个错误的解决方法,你可以看看
------解决方案--------------------
我测试了一下,我这边没有报错呢。你查查资料吧。
------解决方案--------------------
这莫名的样子 看着是ORACLE有BUG还是安装或者啥啥的出问题……好吧其实我啊就是水一下的=,=~
------解决方案--------------------
LZ你确定每次报错都是ORA-03113,有没有相应的trace文件产生。
------解决方案--------------------
也许是存那个表数据的那块物理盘的扇区有问题