Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Преобразовать строку где несколько пробелов в один пробел / 12 сообщений из 12, страница 1 из 1
22.06.2015, 14:29:26
    #38989690
mstdmstd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку где несколько пробелов в один пробел
Поскажите, как в mysql преобразовать строку, чтобы последовательности в несколько пробелов преобразовались в 1 пробел?

Thanks!
...
Рейтинг: 0 / 0
22.06.2015, 14:33:45
    #38989700
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку где несколько пробелов в один пробел
Несколько - это сколько?
Обычно делается несколькими вложенными вызовами REPLACE().
Если лишние пробелы находятся в начале/конце строки, то TRIM().
...
Рейтинг: 0 / 0
22.06.2015, 14:45:14
    #38989723
Преобразовать строку где несколько пробелов в один пробел
mstdmstd,

три вложенных replace позволяют удалить любое произвольное вхождение повторяющегося символа на одиночный символ
...
Рейтинг: 0 / 0
22.06.2015, 14:51:26
    #38989738
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку где несколько пробелов в один пробел
Добрый Э - Эхmstdmstd,

три вложенных replace позволяют удалить любое произвольное вхождение повторяющегося символа на одиночный символХм, и как же?
...
Рейтинг: 0 / 0
22.06.2015, 14:53:49
    #38989742
Преобразовать строку где несколько пробелов в один пробел
miksoft,

и так же:

Код: sql
1.
2.
3.
4.
select str, length(str) as str_len,
       replace(replace(replace(str,'  ',concat(' ','$')),concat('$',' '),''),'$','') as new_str,
       length(replace(replace(replace(str,'  ',concat(' ','$')),concat('$',' '),''),'$','')) as new_str_len
  from (select '   1     d dd  sgh         tr   ' as str) v



где вместо '$' использовать любой символ, не встречающийся в исходной строке.
...
Рейтинг: 0 / 0
22.06.2015, 14:58:15
    #38989749
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку где несколько пробелов в один пробел
Добрый Э - Эхгде вместо '$' использовать любой символ, не встречающийся в исходной строке.А, а я уж думал напрямую как-то можно...
...
Рейтинг: 0 / 0
22.06.2015, 16:09:12
    #38989848
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку где несколько пробелов в один пробел
Добрый Э - Эхгде вместо '$' использовать любой символ, не встречающийся в исходной строке.Это если таковой имеется. А если нет? А ведь при этом за пределы полутаблицы выходить нельзя, иначе начнутся такие фортели с кодировками...
...
Рейтинг: 0 / 0
23.06.2015, 01:29:24
    #38990227
lamer yuga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку где несколько пробелов в один пробел
AkinaДобрый Э - Эхгде вместо '$' использовать любой символ, не встречающийся в исходной строке.Это если таковой имеется. А если нет? А ведь при этом за пределы полутаблицы выходить нельзя, иначе начнутся такие фортели с кодировками...А что, CHAR(1) не подойдет разве?
...
Рейтинг: 0 / 0
23.06.2015, 01:34:35
    #38990228
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку где несколько пробелов в один пробел
AkinaДобрый Э - Эхгде вместо '$' использовать любой символ, не встречающийся в исходной строке.Это если таковой имеется. А если нет? А ведь при этом за пределы полутаблицы выходить нельзя, иначе начнутся такие фортели с кодировками...У нас на такой случай используется тильда "~". Она запрещена для использования в пользовательских данных.
...
Рейтинг: 0 / 0
23.06.2015, 01:38:42
    #38990229
lamer yuga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку где несколько пробелов в один пробел
miksoftAkinaпропущено...
Это если таковой имеется. А если нет? А ведь при этом за пределы полутаблицы выходить нельзя, иначе начнутся такие фортели с кодировками...У нас на такой случай используется тильда "~". Она запрещена для использования в пользовательских данных.Означает ли это, что ваш ответ сохранить в MySQL не удастся?
...
Рейтинг: 0 / 0
23.06.2015, 02:47:04
    #38990237
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку где несколько пробелов в один пробел
lamer yugamiksoftпропущено...
У нас на такой случай используется тильда "~". Она запрещена для использования в пользовательских данных.Означает ли это, что ваш ответ сохранить в MySQL не удастся? У нас, к счастью, не форум и произвольной болтологии не хранится :)
...
Рейтинг: 0 / 0
23.06.2015, 09:55:16
    #38990346
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку где несколько пробелов в один пробел
lamer yugaА что, CHAR(1) не подойдет разве?
Подойдёт... любой символ от CHAR(0) до CHAR(127) подойдёт. Если он ГАРАНТИРОВАННО отсутствует в строке - вот именно это требование и смущает.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Преобразовать строку где несколько пробелов в один пробел / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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