sql >> Databáze >  >> RDS >> Sqlserver

SQL:Jak mohu získat hodnotu atributu v datovém typu XML?

Použijte 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

Výstup:

en
fr


  1. Existuje v SQL kombinace LIKE a IN?

  2. Praktičnost více databází na klienta vs jedna databáze

  3. Proč EF generuje poddotaz pro jednoduchý dotaz?

  4. Mysql:Programově odstraňte všechny cizí klíče