gpt4 book ai didi

sql - 在 PostgreSQL 的 where 子句中使用 XML 列

转载 作者:行者123 更新时间:2023-11-29 13:17:14 28 4
gpt4 key购买 nike

我想在某些数据库的 hibernate 中支持包含 XML 内容的列的 where 子句。我通过扩展 org.hibernate.dialect.OracleDialect 类并通过 registerFunction 方法注册 xml 函数,在 Oracle 中实现了这一点。生成的查询示例:

SELECT *
FROM OM_PERSON this_
WHERE xmltype.createxml(this_.config_xml).existsNode('/*[condition/text()="19943"]')=1;

hibernate中注册的函数(对于Oracle):

xmltype.createxml(?1).existsNode(?2)

现在我也想支持PostgreSQL(首选版本:9.6),但我找不到任何等效的功能。所以我的问题是在 PostgreSQL 中是否有与上述 Oracle 查询等效的函数/语句?

最佳答案

PostgreSQL 有一个函数 XMLEXISTS ,因此您的查询可以如下所示:

SELECT *
FROM OM_PERSON x
WHERE XMLEXISTS('/*[condition/text()="19943"]' PASSING x.config_xml)

我不知道如何在 Hibernate 中使用它。

关于sql - 在 PostgreSQL 的 where 子句中使用 XML 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47364320/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com