2011-01-18 5 views
0

У меня есть одна таблица, где один тип поля - xml, и там данные сохраняются в формате xml. мой xml:XML-тип данных и Sql-сервер 2005

<Record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <DELETED> 
    <STOCK_CODE>111111</STOCK_CODE> 
    <MakeID>GB00000001</MakeID> 
    <ModelID>GB00000001</ModelID> 
    <EngineSize /> 
    <YearMakeFrom>0</YearMakeFrom> 
    <YearMakeTo>0</YearMakeTo> 
    <Automatic>1</Automatic> 
    <SemiAutomatic>1</SemiAutomatic> 
    <Manual>0</Manual> 
    <OtherInfo /> 
    <Status>UPDATED</Status> 
    </DELETED> 
</Record> 

, пожалуйста, сообщите мне, как я могу запросить вышеупомянутый XML-документ в sql server 2005. пожалуйста, помогите. Благодарю.

+2

Что вы хотите запросить из этого документа XML? Что вы хотите извлечь из этого? –

ответ

1

Вы не говорите, что именно ищете, так что вот только догадка.

Предположим, у вас есть таблица, полная строк, каждая строка имеет столбец XML XmlData, который содержит указанную выше структуру, и вы хотите получить Stock_Code и ModelID из этого XML.

В этом случае, вы бы использовать что-то вроде этого:

SELECT 
    ID, 
    XmlData.value('(/Record/DELETED/STOCK_CODE)[1]', 'BIGINT') AS 'StockCode', 
    XmlData.value('(/Record/DELETED/ModelID)[1]', 'VARCHAR(25)') AS 'ModelID' 
FROM 
    dbo.YourTable 
WHERE 
    (some condition) 

Это то, что вы ищете ?? Если нет: уточните свой вопрос!

Смежные вопросы