PostgreSQL中EXISTSNODE的等效语法是什么

时间:2019-02-14 09:51:50

标签: xml postgresql

我正在尝试将下面的Oracle查询转换为PostgreSQL,但是没有找到任何解决方案。

 EXISTSNODE( p_candidate_xml, '//h:Candidate/h:CandidatePerson/h:UserArea/h:GOVT_SpecialHiringAuthorities/h:GOVT_SpecialHiringOptions[text() = "MILSPOUSE" or text() = "MILSPOUSEOS"]', ns )

我发现xmlexists函数,但是它不接受ns

这里ns->名称空间

1 个答案:

答案 0 :(得分:0)

xpath_exists()可能正是您想要的。您尚未向我们显示输入XML,但是这样的方法应该起作用:

xpath_exists(
   p_candidate_xml, 
   '//h:Candidate/h:CandidatePerson/h:UserArea/h:GOVT_SpecialHiringAuthorities/h:GOVT_SpecialHiringOptions[text() = "MILSPOUSE" or text() = "MILSPOUSEOS"]', 
   ARRAY[ARRAY['h', 'http://example.com'] );