Знам, че отговорът е приет, но всъщност има по-прост начин да го направите, ако единственото нещо, което трябва да направите, е да изберете стойност на възел. Просто използвайте *
като име на пространство от имена:
SELECT MessageXml
, MessageXml.value('(/*:Envelope/*:Body/*:FetchRequest/*:Contract/*:TransactionId)[1]'
, 'varchar(max)')
FROM dbo.Message