Ich habe durch SO gelesen: XML data type method “value” must be a string literal aber mein Problem ist ein bisschen anders. Ich habe ein bisschen xml in einer Variable, die ich auseinander nehmen möchte und mir einen Pfad gegeben habe. ursprünglich habe ich das versucht:Das Argument 1 der XML-Datentyp Methode "Wert" muss ein String-Literal sein
declare @x xml
select @x = '....'
select @x.value('(' + @path + ')[1]', 'varchar(max)')
aber natürlich schlägt das fehl. dann habe ich die sql: variable gefunden und folgendes versucht:
select @x.value('(sql:variable("@path"))[1]', 'varchar(max)')
aber das bringt seltsamerweise den Wert von @path zurück (warum?). Ich habe mich damit herumgeschlagen, kann es aber nicht richtig machen.
Wer denkt an jemanden?
Bitte verwenden Sie die tatsächlichen SO-URLs hier. Sie können mit der rechten Maustaste auf den "share" -Link am Ende jeder Frage oder Antwort klicken und "Copy" wählen, und es wird korrekt nach Titel verknüpft (wie ich es mit Ihrer URL oben getan habe). Vielen Dank. –