我有一个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")
答案 0 :(得分:1)
不知道为什么,但是当我在existsnode中指定“!= 0”而不是“= 1”时它会起作用:
select("tab.myxml.getclobval() myxml").
from("my_table tab").
where("tab.myxml.existsnode(:xp) != 0", :xp=>"//MyNode")