ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 请教一条sql查询错误:ora-01722

请教一条sql查询错误:ora-01722

原创 Linux操作系统 作者:tigersun 时间:2007-12-06 14:27:06 0 删除 编辑
这个查询来自quest central安装脚本,我截取了其中出错的部分,如下:


下面查询,运行时报:ORA-01722: invalid number错误
select DISTINCT UPPER(t.instance),s.machine
from v$parameter p, v$thread t ,  v$session s
where  t.thread# = DECODE(TO_NUMBER(p.value),0,1,TO_NUMBER(p.value))
and p.name='thread';
第 3 行出现错误:
ORA-01722: invalid number

注释掉v$session 之后,不再报错
select DISTINCT UPPER(t.instance)       --    , s.machine
from v$parameter p,v$thread t            --    , v$session s
where  t.thread# = DECODE(TO_NUMBER(p.value),0,1,TO_NUMBER(p.value))
and p.name='thread';

保留v$session  注释掉v$parameter 和v$thread 的连接,也不再报错
select DISTINCT UPPER(t.instance),s.machine
from v$parameter p,v$thread t , v$session s
where                           --    t.thread# = DECODE(TO_NUMBER(p.value),0,1,TO_NUMBER(p.value)) and
p.name='thread';

可见问题是两次注释部分相冲突,但是我不明白这两者为什么会冲突,请高手指点!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/310745/viewspace-6323/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-26

  • 博文量
    31
  • 访问量
    27269