mySql WHERE `xml <date>` = '11 / 21/2010 '

0

У меня есть база данных 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`
Теги:

1 ответ

1
Лучший ответ

Вы можете использовать функцию ExtractValue с выражением XPath для получения нужного поля:

SELECT * 
FROM `table` 
WHERE ExtractValue(xml,'/a/suitable/xpath/expression') != `date`
  • 0
    отлично, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню