2013-08-06 39 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 

它將首先用你的連續空格替換你的換行符。請注意,對輸入字符串進行網址編碼以避免令人討厭的意外是明智的做法。

相關問題