2017-01-18 164 views
0

我試圖從DB的字符串的右側和左側刪除空白和尾隨空白。刪除MSSQL中的空白和尾隨空格

注意如何目前的結果looklike:

enter image description here

注意命名字符串:

*excellent-purchase* 

當我把它拿來在我的C#應用​​程序是這樣的:

ctx.Users.ToList(); 

我得到的這個字符串的輸出是:

\t*excellent-purchase* 

我需要從我的C#應用​​程序中刪除數據庫級別或C#應用程序內的這個「\ t」符號。

我試過很喜歡這樣做是這樣的方式:

UPDATE 
    TableName 
SET 
    ColumnName = LTRIM(RTRIM(ColumnName)) 

但是我還是在我的C#應用​​程序這\ t標誌...

我怎樣才能解決這個問題?

編輯:

傢伙,我仍然有一個奇怪的characther這樣的:

"nl_holyland*555* 

而在C#應用程序,它看起來像:

\"nl_holyland*555* 

即使世界一個額外的\這個解決方案像

+2

\ t不是由空格這是一個標籤。另外使用'替換(ColumnName,char(9),'')'。 http://stackoverflow.com/questions/12906949/how-eliminate-the-tab-space-in-the-column-in-sql-server-2008 –

+0

你也可以使用[TrimStart](https:// msdn。 microsoft.com/en-us/library/system.string.trimstart(v=vs.110).aspx) –

+0

如果還有其他字符,你可以看[RegEx](http://stackoverflow.com/questions/ 1046740/how-can-i-validate-a-string-to-only-allow-alphanumeric-characters-in-it) – SQLMason

回答

1

你可以試試看:

string value = Regex.Replace(value,@「\ t | \ n | \ r」,「」);

+0

它可能更聰明的解決它在db級 – User987

+0

是的,它的情況下使用替換(替換(列,字符(9),''), char(13),'')在SQL Server中。 –

+0

Junior,我仍然得到一個帶有此解決方案的\符號 – User987

1

你可能想嘗試以下操作:

UPDATE 
    TableName 
SET 
    ColumnName = LTRIM(RTRIM(REPLACE(ColumnName,char(9),''))) 
+0

我仍然有一個奇怪的characther這樣的: 「nl_holyland * 555 * 而在C#應用程序,它看起來像: \」 nl_holyland * 555 * 即使世界用此溶液像 – User987

+0

這是一個額外的\肯定是因爲「是一個保留的字符,必須轉義,這是通過在開頭添加\來完成的。 – Tyron78

1

您可以使用替換也:

UPDATE 
    TableName 
SET 
    ColumnName = REPLACE(ColumnName, ' ', '')