powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сделать пробел после запятой, команда
10 сообщений из 10, страница 1 из 1
Как сделать пробел после запятой, команда
    #39788156
Vbifyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

К примеру имеем описание:
Просторная ,двухкомнатная квартира,с косметическим ,ремонтом,прямо около метро.

Надо сделать команду, чтобы запятушки встали правильно. То есть между буквой и запятой пробела быть не должно. И наоборот, между запятой и буквой должен быть пробел.

Сделал командами:
UPDATE `tbl_post` SET `textobj` = REPLACE(textobj, ',', ', ');
UPDATE `tbl_post` SET `textobj` = REPLACE(textobj, ' ,', ', ');

Но проблема в том, что каждый раз, при вводе команды, она добавляет пробел после запятой. В результате получается, что может быть сколько угодно пробелов, типа "Просторная, двухкомнатная".
Поэтому надо добавить условие, что пробел после запятой добавлять только в случае, если сразу после запятой стоит какой нибудь символ (кроме пробела).

Подскажите, пожалуйста, какое условие добавить?
...
Рейтинг: 0 / 0
Как сделать пробел после запятой, команда
    #39788164
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
UPDATE `tbl_post` 
SET `textobj` = REPLACE(REPLACE(REPLACE(textobj, ' ,', ','), ', ', ','), ',', ', ');
...
Рейтинг: 0 / 0
Как сделать пробел после запятой, команда
    #39788165
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для MySQL ver. 8+

Код: sql
1.
2.
UPDATE `tbl_post` 
SET `textobj` = REGEXP_REPLACE(textobj, ' *, *', ', ');
...
Рейтинг: 0 / 0
Как сделать пробел после запятой, команда
    #39788183
Vbifyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina
Код: sql
1.
2.
UPDATE `tbl_post` 
SET `textobj` = REPLACE(REPLACE(REPLACE(textobj, ' ,', ','), ', ', ','), ',', ', ');



Все равно, когда заново запускаешь после прогона, то каждый раз происходят замены.
...
Рейтинг: 0 / 0
Как сделать пробел после запятой, команда
    #39788184
Vbifyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaДля MySQL ver. 8+

Код: sql
1.
2.
UPDATE `tbl_post` 
SET `textobj` = REGEXP_REPLACE(textobj, ' *, *', ', ');


Это не работает. Показывает ошибку.
...
Рейтинг: 0 / 0
Как сделать пробел после запятой, команда
    #39788188
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VbifyzВсе равно, когда заново запускаешь после прогона, то каждый раз происходят замены.:facepalm:
А результат посмотреть "после прогона" - не?

Vbifyzне работает. Показывает ошибку.
А версию сервера посмотреть - не?
...
Рейтинг: 0 / 0
Как сделать пробел после запятой, команда
    #39788257
Vbifyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия точно не 8.

Там показывается, что изменено столько то тысяч строк. Какой еще результат? Визуально на сайте меняется. Но и менялось еще и с моей командой. Только эту команду надо периодически запускать. А если при каждом запуске будет лишний пробел добавляться, это неприемлемо.
По логике при повторном прогоне, если он сразу после первого, должно показываться ноль изменений. Ведь так?
...
Рейтинг: 0 / 0
Как сделать пробел после запятой, команда
    #39788281
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VbifyzА если при каждом запуске будет лишний пробел добавлятьсяНу посмотри ж ты наконец, что запрос-то делает!!! чего чушь-то городить?

VbifyzТам показывается, что изменено столько то тысяч строк.Где - там? как именно - процитируй ответ сервера на 2 последовательных (с неким промежутком времени, желательно) выполнения запроса.

Vbifyzкоманду надо периодически запускать.Если в таблице появляются новые записи или корректируются существующие - ясен пень. Или пиши триггер, который будет убирать косяки.

VbifyzПо логике при повторном прогоне, если он сразу после первого, должно показываться ноль изменений. Ведь так?
На UPDATE-запрос при отсутствии ошибок сервер отвечает фразой
Код: sql
1.
Rows matched: XXX  Changed: YYY  Warnings: ZZZ


Три числа... Где именно ты желаешь увидеть ноль?
...
Рейтинг: 0 / 0
Как сделать пробел после запятой, команда
    #39788300
Vbifyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
https://yadi.sk/i/VsBs9uMxzbKSmg

Может так понятней будет
...
Рейтинг: 0 / 0
Как сделать пробел после запятой, команда
    #39788317
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VbifyzМожет так понятней будетНет, не будет. Я понятия не имею, какое из трёх чисел выводится. Догадываюсь, что не последнее.

Выполняйте запрос через консольного клиента.

PS. Записи, имеющие пробел перед запятой, будут лишаться таких пробелов по одной штуке за запуск, т.е. всё устаканится только тогда, когда все такие пробелы будут удалены.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сделать пробел после запятой, команда
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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