powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Удаление лишних пробелов.
11 сообщений из 11, страница 1 из 1
Удаление лишних пробелов.
    #39814912
Piastry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал запрос по удалению двойных пробелов: UPDATE probel SET aaa = REPLACE(aaa, ' ', ' '), но если подряд 3 и более пробелов приходится использовать запрос несколько раз. Помогите сделать этот запрос в цикле.
...
Рейтинг: 0 / 0
Удаление лишних пробелов.
    #39814914
SkilledJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Удаление лишних пробелов.
    #39814942
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Удаление лишних пробелов.
    #39815001
Piastry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из предыдущих ссылок можно сделать цикл на вывод с удаленными лишними пробелами:

declare
str varchar2(255) := 'dsfdsf dsfdsf';
begin
while instr(str,' ')>0 loop
str := replace(str, ' ', ' ');
end loop;
dbms_output.put_line(str);
end;

Но как сделать, что бы значение 'dsfdsf dsfdsf' присваивалось из селекта и в цикле отрабатывал апдейт UPDATE probel SET aaa = REPLACE(aaa, ' ', ' '), где probel таблица, а aaa столбец?
...
Рейтинг: 0 / 0
Удаление лишних пробелов.
    #39815027
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PiastryНо как сделать, что бы значение 'dsfdsf dsfdsf' присваивалось из селекта и в цикле отрабатывал апдейт UPDATE probel SET aaa = REPLACE(aaa, ' ', ' '), где probel таблица, а aaa столбец?

Это называется UDF (user defined function). Но тебе уже намекнули - не изобрета велосипед:

SET aaa = REGEXP_REPLACE(aaa,' {2,}',' ')

SY.
...
Рейтинг: 0 / 0
Удаление лишних пробелов.
    #39815033
Piastry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SYPiastryНо как сделать, что бы значение 'dsfdsf dsfdsf' присваивалось из селекта и в цикле отрабатывал апдейт UPDATE probel SET aaa = REPLACE(aaa, ' ', ' '), где probel таблица, а aaa столбец?

Это называется UDF (user defined function). Но тебе уже намекнули - не изобрета велосипед:

SET aaa = REGEXP_REPLACE(aaa,' {2,}',' ')

SY.

Мне нужно не вывести данные селектом, а проапдейтить базу.
...
Рейтинг: 0 / 0
Удаление лишних пробелов.
    #39815076
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PiastryИз предыдущих ссылок можно сделать циклИз предыдущих ссылок цикла не нужно. Достаточно три реплейса и заведомо ненужный символ.
...
Рейтинг: 0 / 0
Удаление лишних пробелов.
    #39815080
Piastry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-PiastryИз предыдущих ссылок можно сделать циклИз предыдущих ссылок цикла не нужно. Достаточно три реплейса и заведомо ненужный символ.

А если 10 подряд пробелов?
...
Рейтинг: 0 / 0
Удаление лишних пробелов.
    #39815093
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Piastry-2-Из предыдущих ссылок цикла не нужно. Достаточно три реплейса и заведомо ненужный символ.А если 10 подряд пробелов?википедияДостаточными называются такие условия, при наличии (выполнении, соблюдении) которых утверждение А является истинным.
...
Рейтинг: 0 / 0
Удаление лишних пробелов.
    #39815150
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PiastryМне нужно не вывести данные селектом, а проапдейтить базу.

??? Ты кляузу SET различашь? Похоже дальтоник. Разжуем:

Код: plsql
1.
2.
3.
UPDATE yor_table
   SET your_column = REGEXP_REPLACE(your_column,' {2,}',' ')
/



А если большинcтво строк с одним пробелом и/или c UNDO/REDO проблемы:

Код: plsql
1.
2.
3.
4.
UPDATE yor_table
   SET your_column = REGEXP_REPLACE(your_column,' {2,}',' ')
 WHERE your_column LIKE '%  %'
/



SY.
...
Рейтинг: 0 / 0
Удаление лишних пробелов.
    #39815191
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYА если большинcтво строк с одним пробелом и/или c UNDO/REDO проблемы:Это такая у дыбыэев система ценностей? Я-то думал, что не переливать понапрасну из пустого в порожнее - это естественная потребность здравого человека.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Удаление лишних пробелов.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]