sql >> Base de Datos >  >> RDS >> Sqlserver

Extracción del valor nvarchar de XML en T-SQL:solo se devolvió un carácter

No use nvarchar sin tamaño. De documentación :

Si no sabe la longitud exacta, siempre puede usar nvarchar(max) :

declare @criteria xml;
set @criteria = N'<criterion id="DocName"><value>abcd</value></criterion>';

declare @val nvarchar(max);
set @val = @criteria.value('(criterion[@id="DocName"]/value)[1]', 'nvarchar(max)');

select @val;

demostración de sql fiddle