He leído a través de SO: XML data type method “value” must be a string literal pero mi problema es un poco diferente. Tengo un poco de xml en una variable que quiero separar y me dan un camino. originalmente probé esto:El argumento 1 del método de tipo de datos XML "valor" debe ser una cadena literal
declare @x xml
select @x = '....'
select @x.value('(' + @path + ')[1]', 'varchar(max)')
pero, por supuesto, eso falla. entonces encontré el SQL: variable e intenté esto:
select @x.value('(sql:variable("@path"))[1]', 'varchar(max)')
pero que curiosamente devuelve el valor de @path (¿por qué?). He estado jugando con eso pero no puedo hacer que haga lo correcto.
Pensamientos a alguien?
Utilice las URL de SO actuales aquí. Puede hacer clic con el botón derecho en el enlace 'compartir' en la parte inferior de cualquier pregunta o respuesta y elegir 'Copiar', y se vinculará correctamente por título (como hice con su URL anterior). Gracias. –