Vím, že odpověď je přijata, ale ve skutečnosti existuje jednodušší způsob, jak to udělat, pokud jediná věc, kterou musíte udělat, je vybrat hodnotu uzlu. Stačí použít *
jako název jmenného prostoru:
SELECT MessageXml
, MessageXml.value('(/*:Envelope/*:Body/*:FetchRequest/*:Contract/*:TransactionId)[1]'
, 'varchar(max)')
FROM dbo.Message