У меня есть база данных mySql, и у нее есть поле для каждой записи с именем xml, которая содержит XML. Я хотел бы знать, есть ли синтаксис для выбора значений xml, таких как нормальные поля.
например, если я хотел выбрать все записи с датой 11/21/2010 Я пытаюсь что-то вроде этого, но синтаксис неправильный, так как я не знаю, как хорошо работать с xml в mySql.
SELECT *
FROM `table`
WHERE `xml<date>` = '11/21/2010'
В идеале я хотел бы сравнить его с другим полем:
SELECT *
FROM `table`
WHERE `xml<date>` != `date`
Вы можете использовать функцию ExtractValue с выражением XPath для получения нужного поля:
SELECT *
FROM `table`
WHERE ExtractValue(xml,'/a/suitable/xpath/expression') != `date`