Как SQL запросом получить данные из текста?

114
11 ноября 2021, 19:30

У меня в SQL таблице лежит значение в текстовом формате:

<Feedback Id="1234">
    <PhoneChange ChangeId=1234>
        <Value>
            <Phone Contact="+7 999 999-99-99"></Phone>
        </Value>
    </PhoneChange>
</Feedback>

Как я могу запросом SQL получить только значение +7 999 999-99-99?

PS БД владею только на чтение.

Answer 1

MySql умеет работать с xml через xpath запросы

select
  ExtractValue(xml_column,'string(//Feedback/PhoneChange/Value/Phone/@Contact)') as phone
from my_table

Тестировать xpath можно тут

Answer 2

Попробуйте такой вариант для MySQL

SELECT 
ExtractValue(text,'//Phone/@Contact') as phone
FROM   Test;

И у вас ошибка в синтаксисе XML. Надо так

<PhoneChange ChangeId="1234">
READ ALSO
Как реализовать смещение колонок на flex?

Как реализовать смещение колонок на flex?

Подскажите, пожалуйста, как реализовать это посредством css flexboxОба блока max-width: 30em

139
Растянуть блок на всю высоту экрана (body)

Растянуть блок на всю высоту экрана (body)

Не могу растянуть контейнер на всю высоту body

217
Как сделать похожую таблицу в Qt?

Как сделать похожую таблицу в Qt?

Я новичок в QtКак сделать похожую таблицу в Qt?

171