Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Query XML di SQL Server con più spazi dei nomi

So che la risposta è accettata, ma in realtà esiste un modo più semplice per farlo, se l'unica cosa che devi fare è selezionare il valore del nodo. Usa semplicemente * come nome dello spazio dei nomi:

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