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