Как убрать лишние пробелы в конце значения ячейки в sqlite3? - PullRequest
0 голосов
/ 23 января 2020

Я ищу способ избавиться от лишних пробелов в конце совершенно мелких значений ячеек. Это будет все два или более пробелов в конце значения ячейки. Некоторые значения ячеек содержат пробелы между словами. Команда sed для такого значения была бы sed -re 's/\s{2,}*$//'. Насколько я знаю, REPLACE() вообще не поддерживает шаблоны, ни группы обратной замены (\ 0 \ 1 и т. Д.), А REGEXP() (из загруженной извне библиотеки) не выполняет замены.

1 Ответ

1 голос
/ 23 января 2020

В SQLite вы можете использовать строковую функцию rtrim() для удаления пробелов в конце строки.

select rtrim(mycol) from mytable

Если вы хотите удалить только значения обрезки, которые имеют как минимум два пробела, и оставить значения, оканчивающиеся одним пробелом, без изменений, вы можете заключить это в условие:

select case when mycol like '%  ' then rtirm(mycol) else mycol end from mytable

Или если вы ищете оператор update:

update mytable set mycol = rtrim(mycol) where mycol like '%  '
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...