2011-01-18 14 views
0

1つのフィールド型がxmlであり、データがxml形式で保存される1つのテーブルがあります。私の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があり、そのXMLからStock_CodeModelIDを取得したいとします。その場合

、あなたはこのようなものを使用したい:

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) 

は、あなたが探しているものということです?そうでない場合:あなたの質問を明確にしてください!

関連する問題