【发布时间】:2023-03-29 19:09:02
【问题描述】:
我正在尝试在具有 XML Column 的 SQL 表中进行查询。 表名:'购买' 列名:“XML_COL”
请在采购表下找到列名“XML_COL”的以下 xml 数据:
<ns1:Request xmlns:ns1="http://www.sample.com/hic/event/request"
xmlns:ns2="http://www.sample.com/hic/eventpayload/request">
<ns1:createeventRequest>
<ns1:eventPayLoad>
<ns2:eventPayLoad>
<Id>123456</Id>
</ns2:eventPayLoad>
</ns1:eventPayLoad>
</ns1:createeventRequest>
</ns1:Request>
我在下面写了查询:
`select * from purchase,
XMLTABLE ('$d/Request/createeventRequest/eventPayLoad/eventPayLoad' PASSING XML_COL as "d"
COLUMNS
Id varchar(20) PATH 'Id') as a where(a.Id like '1234%');`
但这给我返回了一个没有数据的空列。 但我的要求是它应该获取这个特定 ID 的所有数据。 如果有人遇到此类问题,请提供帮助。 我们是否需要在查询时也包含命名空间?还是我错过了什么?
【问题讨论】:
标签: mysql sql xml database xmltable