Извлечение элемента XML оценивает от Пост-ГРЭС

Данный:

CREATE TABLE xmltest(xtxt xml);

И:

INSERT INTO xmltest values ('Mike12-FEB-96Bob13-AUG-97Paul17-JUN-94Jim01-JUN-94');

Используя базовую функциональность Пост-ГРЭС 9.2, как я написал бы оператор SELECT, который возвратил только имена сотрудника, 1 имя за ряд в наборе результатов? Или я должен был бы написать функцию в PL/PGSQL, чтобы сделать это?

2
nl ja de

1 ответы

Можно извлечь интересующие области во множество, используя xpath функция, и затем оттуда можно использовать негнездо встроенный, чтобы разделить это множество на многократные ряды:

SELECT unnest(xpath('//name', xtxt))
FROM   xmltest;

(Немного одолженный от этот вопрос)

3
добавлено
Это может быть то, потому что ваш оригинальный xml недействителен, там isn' t единственный корневой узел. Вы имеете многократный объекты, но ничто, чтобы обернуть их, that' s возможно вызывающий проблему.
добавлено автор Jeffrey Theobald, источник
Спасибо, it' s почти там. У меня есть многократные сотрудники в ряду, и, как написано, это завязывает рот после первого "Дополнительным содержанием в конце документа". Таким образом, я должен работать над ним. Однако ваш код более четкий в демонстрации, чем этот демонстрационный пример в докторах postgresql.org/docs/9.1/interactive/… .. также переходить по ссылкам в вашем ответе приводит к полезному сообщению в блоге scottrbailey.wordpress.com/2009/06/19/xml-parsing-postgres
добавлено автор Paulb, источник
Вы были правы.. зафиксированный типовые данные, и это бежало, Спасибо.
добавлено автор Paulb, источник
pgsql – PostgreSQL
pgsql – PostgreSQL
2 429 участник(ов)

Чат про PostgreSQL

DBA - русскоговорящее сообщество
DBA - русскоговорящее сообщество
1 345 участник(ов)

Общаемся и обсуждаем темы, посвященные DBA, PostgreSQL, Redis, MongoDB, MySQL, neo4j, riak и т.д. См. также: @devops_ru, @kubernetes_ru, @docker_ru, @nodejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было полезным и комфортным.

SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)