sql >> Databasteknik >  >> RDS >> Sqlserver

Hur läser man XML-kolumnen i SQL Server 2008?

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

Resultat:

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



  1. Fel:Objekt av klassen CI_DB_mysql_result kunde inte konverteras till sträng

  2. JDBC:främmande nyckel på PK skapad i samma transaktion

  3. Hur man ansluter till Oracle 11g-databasen på distans

  4. Kan ett C#-program läsa en textfil i minnet och sedan skicka det objektet till en metod som kräver ett filnamn?