4
假設我有一個名爲「xml」的表,它將XML文件存儲在單個列「data」中。我如何編寫一個運行XPath的MySQL查詢,並只返回匹配該XPath的行?如何在MySQL中使用XPATH select?
假設我有一個名爲「xml」的表,它將XML文件存儲在單個列「data」中。我如何編寫一個運行XPath的MySQL查詢,並只返回匹配該XPath的行?如何在MySQL中使用XPATH select?
SELECT * FROM xml
WHERE EXTRACTVALUE(data, '<xpath-expr>') != '';
但是,您應該注意到,MySQL對XPath的支持存在限制。
EXTRACTVALUE()
僅返回CDATA。我剛接到一個同事的回答,似乎修剪XML經常幫助:
select * from xml where
trim(both '\r\n' from ExtractValue(xml, '/some/xpath')) = 'value';