2016-05-18 4 views
0

Например, у меня есть таблица BigApple с тремя столбцами.SQL. Значения XML из столбца. Как получить?

  • первый столбец содержит номера
  • второй столбец включает в себя какой-нибудь текст
  • третий столбец включает в себя XML-файлы.

Мой вопрос: как добраться до третьего столбца конкретных значений для определенного тега?

+1

К "файлам XML" вы имеете в виду тегов XML, сохраненные в тексте? Можете ли вы предоставить образец файла и что вы хотите извлечь? – Mark

+0

Остается открытым вопрос? Вам нужна дополнительная помощь? Имейте в виду, что большинство профессионалов, дающих ответы на SO, жаждут точек репутации. [Пожалуйста, прочтите это: кто-то-ответы] (http://stackoverflow.com/help/someone-answers). Спасибо! – Shnugo

ответ

0

В самом деле, если у вас есть один и тот же тип данных XML в третьей колонке вы можете прочитать конкретные значения тегов легко.

Пожалуйста, обратитесь к примерам на SQL XML query с использованием одной переменной XML и примером query XML column in SQL database table с использованием CROSS ОТНОСИТЬСЯ

0

Мао, как вы ожидаете получить ответ, который действительно помогает вам, не показывая свои данные? Это может быть тривиально: пока сложно получить данные из XML. Вам нужен только один конкретный тег? Или есть несколько данных? Вложенные данные?

Одним из примеров для тривиального чтения может быть это:

CREATE TABLE #tmpTbl(Number INT, SomeText VARCHAR(100),SomeXML XML); 
INSERT INTO #tmpTbl VALUES 
(1,'Test1','<root><a>xmlA1</a><b>xmlB1</b></root>') 
,(2,'Test2','<root><a>xmlA2</a><b>xmlB2</b></root>'); 

SELECT Number 
     ,SomeText 
     ,SomeXML.value('(/root/a)[1]','varchar(10)') AS Tag_a 
FROM #tmpTbl; 
GO 

DROP TABLE #tmpTbl; 

Результат

Number SomeText Tag_a 
1  Test1  xmlA1 
2  Test2  xmlA2 
Смежные вопросы