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

SQL:Как мога да получа стойността на атрибут в XML тип данни?

Използвайте XQuery:

declare @xml xml =
'<email>
  <account language="en" />
</email>'

select @xml.value('(/email/account/@language)[1]', 'nvarchar(max)')
declare @t table (m xml)

insert @t values 
    ('<email><account language="en" /></email>'), 
    ('<email><account language="fr" /></email>')

select m.value('(/email/account/@language)[1]', 'nvarchar(max)')
from @t

Изход:

en
fr


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Стойността на колоната за идентичност изведнъж скача до 1001 в sql сървъра

  2. Актуализирайте XML поле без текст в T-SQL

  3. SQL единична колона, разделена на множество колони

  4. SQL Server рекурсивно самостоятелно присъединяване

  5. SQL персонализирана поръчка по