涉及xpath的查询不返回任何行

时间:2013-07-22 19:37:43

标签: ruby-on-rails xml oracle

我有一个xmltype表我需要能够使用XPath进行查询。当我包含涉及Xpath Rails的where子句条件时,不会返回任何行。当我从Rails复制生成的查询日志并独立执行时,它会返回预期的行。

SELECT * FROM my_table tab WHERE ( tab.myxml.existsnode('//MyNode')  = 1

代码:

select("tab.myxml.getclobval() myxml").
from("my_table tab").
where("tab.myxml.existsnode(:xp) = 1", :xp=>"//MyNode")

1 个答案:

答案 0 :(得分:1)

不知道为什么,但是当我在existsnode中指定“!= 0”而不是“= 1”时它会起作用:

select("tab.myxml.getclobval() myxml").
from("my_table tab").
where("tab.myxml.existsnode(:xp) != 0", :xp=>"//MyNode")