2017-01-18 117 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, ' ', '')