Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Вземете ограничен низ от XML с SQL Server 2005 XQuery

Какво ще кажете за това - това ще работи за произволен брой <AAA> възли в XML променлива:

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, '')

Резултатът е:

Val_A,Val_B,Val_C


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо Datediff между GETDATE() и SYSDATETIME() в милисекунди винаги е различен?

  2. Как да видя пълното съдържание на текстова или varchar(MAX) колона в SQL Server 2008 Management Studio?

  3. Не може да разреши конфликта на съпоставяне между SQL_AltDiction_CP850_CI_AS и SQL_Latin1_General_CP1_CI_AS в операцията равно на

  4. вмъкнете XML файл в SQL чрез SSIS

  5. Актуализирайте oldID за записите рекурсивно