2013-08-06 35 views
11

我如何从SQL Server中的变量中删除所有NewLine?我如何从SQL Server中的变量中删除所有NewLine?

我使用SQL Server 2008 R2。

我需要删除T-Sql命令中的变量中的所有NewLine。

例如:

Declare @A NVarChar(500) 
Set @A = ' 12345 
     25487 
     154814 ' 
Print @A  

而且它印像这样

12345 
     25487 
     154814 

但我希望得到的字符串这样

我写这篇文章的查询,但它不工作:

Set @A = Replace(@A,CHAR(13),' ') 
+2

NewLine是CHAR(10)CHAR(13)'。尝试删除 – LuigiEdlCarno

+1

以查看哪些ascii字符是http://technet.microsoft.com/en-us/library/ms177545.aspx – Justin

+0

[在TSQL中替换换行符](https://stackoverflow.com/问题/ 951518 /替换-A-换行功能于TSQL) –

回答

26

如果你想让它看起来就像在你的样品输出,必须使用该查询

Declare @A NVarChar(500); 

Set @A = N' 12345 
     25487 
     154814 '; 

Set @A = Replace(@A,CHAR(13)+CHAR(10),' '); 

Print @A; 
3

,使用this hack

DECLARE @A nvarchar(500) 
SET @A = ' 12345 
     25487 
     154814 ' 

SET @A = 
    replace(
    replace(
     replace(
     replace(@A, char(13)+char(10),' '), 
     ' ','<>'), 
    '><','') 
    ,'<>',' ') 

PRINT @A 

它将首先用你的连续空格替换你的换行符。请注意,对输入字符串进行网址编码以避免令人讨厌的意外是明智的做法。

相关问题