Всем привет! подскажите есть структура xml:
some_tbl.xmldata='<a><b>foo</b><b>bar baz</b></a>'
согласно:
https://dev.mysql.com/doc/refman/8.0/en/xml-functions.html
делаю
select ExtractValue(some_tbl.xmldata, '/a/b') as xml_b from some_tbl where 1
и получаю 'foo bar baz' с пробелом между элементами нод b. Вопрос - можно ли сделать запрос, чтобы элементы были разделены например точкой с запятой.
Замена пробела обёрткой в replace() не получается - потому как в этом случае bar и baz будут разделены ';' 'foo;bar;baz', а требуется получить 'foo;bar baz'.
Желаемый результат требует скрытого unpivot (преобразование одной записи в несколько), чего в MySQL не имеется. Придётся извращаться.
Вариант:
SELECT TRIM(TRAILING ';' FROM ExtractValue(REPLACE(some_tbl.xmldata, '</b>', ';</b>'), '/a/b')) as xml_b
FROM some_tbl
WHERE 1
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
После импорта csv в mySQL при попытке удалить строку phpmyadmin выдает вот такую ошибку:
Пытаясь сегодня подключится по SSH к MySQL серверу внезапно получил ошибку