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

SQL Server 2008 で XML 列を読み取るには?

    with xmlnamespaces('http://schemas.microsoft.com/office/infopath/2003/myXSD/2014-03-29T09:41:23' as my)
    select M.XMLData.value('(/my:myFields/my:field1/text())[1]', 'int') as field1,
           M.XMLData.value('(/my:myFields/my:field2/text())[1]', 'int') as field2,
           M.XMLData.value('(/my:myFields/my:field3/text())[1]', 'bit') as field3,
           M.XMLData.value('(/my:myFields/my:FormName/text())[1]', 'datetime') as FormName,
           (
             select ','+R.X.value('text()[1]', 'nvarchar(max)')
             from M.XMLData.nodes('/my:myFields/my:Repeating') as R(X)
             for xml path(''), type
           ).value('substring(text()[1], 2)', 'nvarchar(max)') as Repeating
    from XMLMain as M
      

    結果:

    field1      field2      field3 FormName                Repeating
    ----------- ----------- ------ ----------------------- -----------------------
    1           2           1      2014-04-01 15:11:47.000 hi,hello,how are  you?
      


    1. トランザクションプーリングが有効で、単一のステートメントが発行された場合、pgbouncerはどのように動作しますか?

    2. phpを使用してmysqlに最後に挿入されたIDを見つける最良の方法

    3. java.sql.SQLException:Io例外:OracleとのJDBC接続中に読み取り呼び出しからマイナス1を取得しました

    4. LinuxにMicrosoftSQLをインストールする方法