Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Удаление лишних пробелов. / 11 сообщений из 11, страница 1 из 1
18.05.2019, 21:39
    #39814912
Piastry
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление лишних пробелов.
Сделал запрос по удалению двойных пробелов: UPDATE probel SET aaa = REPLACE(aaa, ' ', ' '), но если подряд 3 и более пробелов приходится использовать запрос несколько раз. Помогите сделать этот запрос в цикле.
...
Рейтинг: 0 / 0
18.05.2019, 22:10
    #39814914
SkilledJunior
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление лишних пробелов.
...
Рейтинг: 0 / 0
19.05.2019, 06:59
    #39814942
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление лишних пробелов.
...
Рейтинг: 0 / 0
19.05.2019, 14:54
    #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
19.05.2019, 16:03
    #39815027
SY
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
19.05.2019, 16:39
    #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
19.05.2019, 17:54
    #39815076
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление лишних пробелов.
PiastryИз предыдущих ссылок можно сделать циклИз предыдущих ссылок цикла не нужно. Достаточно три реплейса и заведомо ненужный символ.
...
Рейтинг: 0 / 0
19.05.2019, 18:07
    #39815080
Piastry
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление лишних пробелов.
-2-PiastryИз предыдущих ссылок можно сделать циклИз предыдущих ссылок цикла не нужно. Достаточно три реплейса и заведомо ненужный символ.

А если 10 подряд пробелов?
...
Рейтинг: 0 / 0
19.05.2019, 19:03
    #39815093
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление лишних пробелов.
Piastry-2-Из предыдущих ссылок цикла не нужно. Достаточно три реплейса и заведомо ненужный символ.А если 10 подряд пробелов?википедияДостаточными называются такие условия, при наличии (выполнении, соблюдении) которых утверждение А является истинным.
...
Рейтинг: 0 / 0
19.05.2019, 23:28
    #39815150
SY
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
20.05.2019, 07:47
    #39815191
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление лишних пробелов.
SYА если большинcтво строк с одним пробелом и/или c UNDO/REDO проблемы:Это такая у дыбыэев система ценностей? Я-то думал, что не переливать понапрасну из пустого в порожнее - это естественная потребность здравого человека.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Удаление лишних пробелов. / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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