kirthiga S Ответов: 1

Как удалить пустое пространство строки в SQL server


В моей таблице, имеющей столбец с именем замечания, в конце есть пустое место. Я использовал функцию LTRIM,RTRIM &Replace. Это не Уокинг. Предложите любые другие способы удаления пустого места.

Что я уже пробовал:

update TableName set Remarks= LTRIM(RTRIM(Remarks)) 
update TableName set Remarks= replace(Remarks,' ','')

Maciej Los

Вы уверены, что это место? Это может быть знак возврата каретки или конца строки.

kirthiga S

Это пространство

Andy Lanng

Оба ваших решения верны. Попробуйте посмотреть на значение char. Изолируйте пробел char в строке, которую вы имеете в своем примере, и попробуйте ASCII(theChar). Вы можете использовать это значение в своей замене "Replace(Char(32),")", например

kirthiga S

Да это работает

Jochen Arndt

Оператор update должен работать.

Как вы проверили, что есть место?
Возможно, он находится не в базе данных, а во внешнем интерфейсе, показывающем содержимое поля.
Или это не пространство ASCII (код 32 / 0x20), а одно из различных пространств Unicode.

Кстати: используйте TRIM (), если вы хотите удалить начальные и конечные пробелы.

1 Ответов

Рейтинг:
8

Maciej Los

Как я уже упоминал в комментарии к этому вопросу, это может быть знак возврата каретки или конца строки.

Единственный способ узнать, какой символ находится в конце строки, - это использовать ASCII функция, которая возвращает значение кода ASCII.

SELECT ASCII(RIGHT(Remarks, 1)) AS LastCharAsciiCode
FROM TableName


Теперь, когда вы знаете, что это за символ, вы можете обновить свою таблицу!

Или

Вы можете заменить все ненужные символы
update TableName set Remarks= REPLACE(REPLACE(REPLACE(Remarks,' ',''), CHR(10), ''), CHR(13), '')


Удачи вам!