Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server-XML-Abfrage mit mehreren Namespaces

Ich weiß, dass die Antwort akzeptiert wird, aber es gibt tatsächlich einen einfacheren Weg, wenn Sie nur den Knotenwert auswählen müssen. Verwenden Sie einfach * als Namensraumname:

SELECT MessageXml
     ,  MessageXml.value('(/*:Envelope/*:Body/*:FetchRequest/*:Contract/*:TransactionId)[1]'
                       , 'varchar(max)')
FROM   dbo.Message