Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Извличане на стойност nvarchar от XML в T-SQL:върнат само един знак

Не използвайте nvarchar без размер. От документация :

Ако не знаете точната дължина, винаги можете да използвате 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;

демонстрация на sql fiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2008:копиране на съдържанието на всички таблици от една база данни в друга база данни

  2. Импортиране на SQL XML:Очакваше се XQuery [value()]:).

  3. Имам таблица с етикети. Как да вмъкнете групово с помощта на LINQ?

  4. Visual Studio 2012 - Съветникът за публикуване на бази данни е прекратен?

  5. SQL не може да вмъкне изрична стойност за колона за идентичност в таблица „Таблица“, когато IDENTITY_INSERT е зададено на OFF