2012-02-03 3 views
0

У меня есть строка 'test                '. Я пытаюсь удалить пространство. Я использовал функцию RTrim. но он не работает. Пожалуйста помоги.Удалить пробелы из строки

+0

«но его не работает» - вам нужно будет объяснить это лучше. –

+0

Что это за поле? 'char' или' varchar'? Вы уверены, что это пробелы, а не некоторые другие символы, которые просто отображаются как пробелы? –

+0

я просто выполнил следующее заявление в SQL 2008 и он работал отлично: SELECT \t RTRIM ('Bronx ') \t, LEN (RTRIM (' Бронкс ')) \t, LEN (' Bronx') –

ответ

0

Это не работает, потому что RTrim удаляет конечные пробелы, но у вас нет пробелов после '.

Попробуйте SELECT REPLACE('BRONX ', ' ', '')

0

Вероятно, это не пространство. Скопируйте символ и вставить его в REPLACE(string,HERE,'')

Вот код:

DECLARE @string as nvarchar(50); 
SET @string = 'dbc  ' 
SELECT RTRIM(@string) 
SELECT REPLACE(@string,' ','') 
+0

Последний символ - '' '. Вы можете видеть это в его вопросе. –

0

Если столбец является char (или nchar) колонки, и вы пытаетесь удалить пробелы что-то вроде:

update MyTable 
    set MyColumn = RTrim(MyColumn) 

это не сработает. См MSDN: тип данных

полукокса представляет собой тип данных фиксированной длины, если указан положение NOT NULL. Если значение, меньшее длины столбца , вставляется в столбец char NOT NULL, значение равно с пробелами в размере столбца. Например, если столбец равен , определяемому как char (10), а данные, которые необходимо сохранить, являются «музыкой», SQL Server сохраняет эти данные как «music_ _ _», где «_» обозначает пробел.

+0

Это не сработает, потому что последний символ - '' '. Вы можете видеть это в его вопросе. –

+0

@ todda.speot.is - или он просто имел в виду регулярную колонтитулу, чтобы показывать пробелы? Я понял это как таковой. –

Смежные вопросы