Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Extraindo o valor nvarchar do XML em T-SQL:apenas um caractere retornado


Não use nvarchar sem tamanho. Da documentação :

Se você não sabe o comprimento exato, você sempre pode 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;

demonstração do violino sql