2011-01-18 1 views
0

J'ai une table où un type de champ est xml et les données sont enregistrées au format xml. mon xml estType de données XML et serveur 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> 

donc s'il vous plaît me dire comment pourrais-je interroger le document XML ci-dessus dans SQL Server 2005. S'il vous plaît aider. Merci.

+2

Que voulez-vous interroger à partir de ce document XML? Que voulez-vous en extraire? –

Répondre

1

Vous n'êtes pas en train de dire ce que vous cherchez exactement - alors voici une petite idée.

Supposons que vous avez une table pleine de lignes, chaque ligne a une colonne XML XmlData qui contient la structure ci-dessus, et que vous voulez obtenir le Stock_Code et ModelID de ce XML.

Dans ce cas, vous devriez utiliser quelque chose comme ceci:

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) 

Est-ce que vous cherchez ?? Si non: veuillez clarifier votre question!