Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 обрезается строка при использовании MAX specifier  [new]
prompt
Guest
DECLARE @sqlstr nvarchar(MAX)

SET @sqlstr = ' '
SET @sqlstr = @sqlstr + replicate('a', 6000) + '
b'


select @sqlstr
select len(@sqlstr)

SET @sqlstr =' ' + replicate('a', 6000) + '
b'

select @sqlstr
select len(@sqlstr)

Если этот скрипт выполнить (выводить результаты как текст), то во втором случае @sqlstr не обрезается, а в первом обрезается, причем где-то в середине. Вывод 'b' нужен для контроля окончания строки - в обоих случая она выводится.
Не пойму, почему так
15 июн 09, 17:53    [7301753]     Ответить | Цитировать Сообщить модератору
 Re: обрезается строка при использовании MAX specifier  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
prompt,

явно конвертирйте строку в REPLACE к типу NVARCHAR(MAX)
15 июн 09, 17:54    [7301768]     Ответить | Цитировать Сообщить модератору
 Re: обрезается строка при использовании MAX specifier  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
iap
prompt,

явно конвертирйте строку в REPLACE к типу NVARCHAR(MAX)
В REPLICATE, конечно же.
И, кстати, не забывайте N перед юникодными литералами
15 июн 09, 17:56    [7301787]     Ответить | Цитировать Сообщить модератору
 Re: обрезается строка при использовании MAX specifier  [new]
prompt
Guest
спасибо, помогло
15 июн 09, 18:56    [7302119]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить