sql >> Databasteknik >  >> RDS >> Sqlserver

Få en avgränsad sträng från XML med SQL Server 2005 XQuery

Vad sägs om detta - det här kommer att fungera för valfritt antal <AAA> noder i en XML-variabel:

DECLARE @Input XML = '<AAA>
  <Name>Name_A</Name>
  <Value>Val_A</Value>
</AAA>
<AAA>
  <Name>Name_B</Name>
  <Value>Val_B</Value>
</AAA>
<AAA>
  <Name>Name_C</Name>
  <Value>Val_C</Value>
</AAA>'

SELECT
    STUFF(
    (SELECT 
        ',' + AAA.value('(Value)[1]', 'varchar(20)')
     FROM
        @Input.nodes('/AAA') AS Node(AAA)
     FOR XML PATH('')
    ), 1, 1, '')

Utdata är:

Val_A,Val_B,Val_C


  1. Finns det något sätt att skicka en anpassad typ från C# till Oracle med System.Data.OracleClient?

  2. Rails migrationer över en befintlig databas

  3. Välj specifika data från givet XML-innehåll med hjälp av WHERE-satsen

  4. Lägger till resultaten av CASE-uttalanden