sql >> データベース >  >> RDS >> Sqlserver

SQL サーバーを使用して XML 型フィールドから値を取得する

    これを試してください:

    DECLARE @test TABLE(ID INT, XmlCol XML)
    
    INSERT INTO @test VALUES(1, '<doc>
       <quote>
          <code>AA</code>
       </quote>
       <quote>
          <code>BB</code>
       </quote>
       <quote>
          <code>CC</code>
       </quote>
    </doc>')
    
    INSERT INTO @test VALUES(2, '<doc>
       <quote>
          <code>BB</code>
       </quote>
       <quote>
          <code>AA</code>
       </quote>
       <quote>
          <code>CC</code>
       </quote>
    </doc>')
    
    SELECT
        ID,
        X.Doc.value('(quote/code)[1]', 'varchar(20)') AS 'Code1',
        X.Doc.value('(quote/code)[2]', 'varchar(20)') AS 'Code2',
        X.Doc.value('(quote/code)[3]', 'varchar(20)') AS 'Code3'
    FROM @test
    CROSS APPLY xmlcol.nodes('doc') AS X(Doc)
    

    次の出力が得られます:

    ID  Code1   Code2   Code3
    1   AA  BB  CC
    2   BB  AA  CC
    


    1. oci_parseとoci_executeの使用

    2. AWSEC2からAWSRDSへのOracleデータベースの移行、パート2

    3. selectwhereQueryを使用したMysqlの大文字と小文字の区別

    4. MySQL DATEDIFF()とTIMESTAMPDIFF():違いは何ですか?