Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Extrahieren des nvarchar-Werts aus XML in T-SQL:nur ein Zeichen zurückgegeben

Verwenden Sie nvarchar nicht ohne Größe. Aus der Dokumentation :

Wenn Sie die genaue Länge nicht kennen, können Sie immer nvarchar(max) verwenden :

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;

SQL-Fiddle-Demo