Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak wykonać zapytanie o wartości i atrybuty XML z tabeli w SQL Server?

Właściwie jesteś blisko swojego celu, wystarczy użyć metody nodes(), aby podzielić wiersze, a następnie uzyskać wartości:

select
    s.SqmId,
    m.c.value('@id', 'varchar(max)') as id,
    m.c.value('@type', 'varchar(max)') as type,
    m.c.value('@unit', 'varchar(max)') as unit,
    m.c.value('@sum', 'varchar(max)') as [sum],
    m.c.value('@count', 'varchar(max)') as [count],
    m.c.value('@minValue', 'varchar(max)') as minValue,
    m.c.value('@maxValue', 'varchar(max)') as maxValue,
    m.c.value('.', 'nvarchar(max)') as Value,
    m.c.value('(text())[1]', 'nvarchar(max)') as Value2
from sqm as s
    outer apply s.data.nodes('Sqm/Metrics/Metric') as m(c)

demonstracja skrzypiec sql



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie DBCC CLONEDATABASE do generowania schematu i tylko kopii statystyk bazy danych użytkownika w programie SQL Server 2014 z dodatkiem SP2

  2. Używanie StringWriter do serializacji XML

  3. Wiersze SQL do kolumn

  4. Jak wybrać tylko pierwsze wiersze dla każdej unikalnej wartości kolumny?

  5. Równoważnik funkcji Split w T-SQL?