我有一个名为“driver_license”的XML字段,其中包含以下内容:
<driver_license>
<no>123</no>
<issue_date>2023-11-20</issue_date>
</driver_license>
字符串
我需要选择issue_date大于某个日期的记录。
在MSSQL上,我可以执行以下查询:
SELECT * FROM persons AS t
WHERE t.driver_license.exist( 'driver_license/issue_date[.>=''2023-12-04'']' ) = 1
型
但我不知道如何在PostgreSQL上做到这一点。这是行不通的:
WHERE xmlexists('//driver_license/issue_date[.>=''2023-12-04'']' PASSING BY REF t.driver_license )
型
因为>=只适用于整数。
我将感谢任何建议。
1条答案
按热度按时间monwx1rj1#
下面是一个使用
XMLTABLE
生成基于XML值的表的选项:字符串
Demo here