Ответ 1
Вы должны использовать этот запрос
Declare @A NVarChar(500);
Set @A = N' 12345
25487
154814 ';
Set @A = Replace(@A,CHAR(13)+CHAR(10),' ');
Print @A;
как я могу удалить всю NewLine из переменной в SQL Server?
Я использую SQL Server 2008 R2.
Мне нужно удалить всю NewLine в переменной в команде T-Sql.
Например:
Declare @A NVarChar(500)
Set @A = ' 12345
25487
154814 '
Print @A
И он напечатан следующим образом
12345
25487
154814
Но я хочу получить строку, подобную этой
12345 25487 154814
Я пишу этот запрос, но он не работает:
Set @A = Replace(@A,CHAR(13),' ')
Вы должны использовать этот запрос
Declare @A NVarChar(500);
Set @A = N' 12345
25487
154814 ';
Set @A = Replace(@A,CHAR(13)+CHAR(10),' ');
Print @A;
Если вы хотите, чтобы он выглядел точно так же, как в вашем примере, используйте этот хак:
DECLARE @A nvarchar(500)
SET @A = ' 12345
25487
154814 '
SET @A =
replace(
replace(
replace(
replace(@A, char(13)+char(10),' '),
' ','<>'),
'><','')
,'<>',' ')
PRINT @A
Сначала он заменит вашу новую строку, а затем ваши последовательные пробелы на одну. Обратите внимание, что было бы разумно кодировать входную строку url, чтобы избежать неприятных сюрпризов.