2017-01-18 10 views
0

Я пытаюсь удалить пробелы и пробелы пробела справа и слева от моей строки в БД.Удаление пробелов в MSSQL и конечных пробелах

Обратите внимание, как текущие результаты looklike:

enter image description here

Обратите внимание на строку с именем:

*excellent-purchase* 

Когда я принесу в моем приложении C# как это:

ctx.Users.ToList(); 

Результат для этой строки, которую я получаю:

\t*excellent-purchase* 

Мне нужно удалить этот знак «\ t» из моего приложения C# либо на уровне DB, либо внутри приложения C#.

Как я пытался это делать, как это так:

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

Но я все еще получаю это \ т знак в моей C# приложение ...

Как я могу это исправить ?

Edit:

ребята, я до сих пор есть странные characther вроде этого:

"nl_holyland*555* 

И в C# App это выглядит как:

\"nl_holyland*555* 

Theres дополнительно \ с этим решением например

+2

\ т не пробельное это вкладка. используйте 'Replace (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

Вы можете попробовать:

Строковое значение = Regex.Replace (значение, @ "\ t | \ n \ r", "");

+0

Возможно, он умнее, чтобы решить его на уровне db – User987

+0

Да, в этом случае использовать Заменить (заменить (столбец, char (9), ''), char (13), '') в SQL Server. –

+0

Младший, я все еще получаю знак \ sign с этим решением – User987

1

Вы можете попробовать следующее:

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

Я до сих пор есть странные characther вроде этого: "nl_holyland * 555 * И в C# App это выглядит следующим образом: \" nl_holyland * 555 * Theres дополнительный \ с этим решением, как – User987

+0

Это скорее всего, потому что «является зарезервированным символом и должен быть экранирован, что делается путем добавления \ к началу. – Tyron78

1

Вы можете использовать Заменить также:

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