
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
10.02.2014, 11:53:44
|
|||
|---|---|---|---|
|
|||
Обрезать строку с конца |
|||
|
#18+
Надо в mysql как бы обрезать строку с конца по пробелу. Если текст: "privet ira kis" Надо получить "privet ira" Если текст: "privet ivan" Надо получить привет "privet" Как это сделать? сам запрос примерно такой Код: sql 1. То есть надо отбросить считая с конца строку до первого пробела Помогите пожалуйста как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 11:59:06
|
|||
|---|---|---|---|
Обрезать строку с конца |
|||
|
#18+
REVERSE(SUBSTRING_INDEX(REVERSE())) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 12:02:40
|
|||
|---|---|---|---|
|
|||
Обрезать строку с конца |
|||
|
#18+
Не понял. Нужно вот так: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 12:05:29
|
|||
|---|---|---|---|
Обрезать строку с конца |
|||
|
#18+
sql999966Не понял. Ну так читай, пока не придёт понимание... http://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_reverse http://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_substring-index ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 12:09:15
|
|||
|---|---|---|---|
|
|||
Обрезать строку с конца |
|||
|
#18+
уже читал. по этому и обратился за помощью. попробовал как ты посоветовал не получается. заранее спасибо если кто то поможет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 12:12:45
|
|||
|---|---|---|---|
Обрезать строку с конца |
|||
|
#18+
Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 12:13:20
|
|||
|---|---|---|---|
|
|||
Обрезать строку с конца |
|||
|
#18+
Надо если строка "111 222 333" получилось "111 222" если строка "555 666" получилось "555" твой метод не работает. с твоим методом получается "111" вместо ""111 222" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 12:15:15
|
|||
|---|---|---|---|
|
|||
Обрезать строку с конца |
|||
|
#18+
miksoft, твой код возвращает kis а надо privet ira ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 12:21:27
|
|||
|---|---|---|---|
|
|||
Обрезать строку с конца |
|||
|
#18+
У кого опыт большой, подскажите пожалуйста как реализовать задачу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 12:37:31
|
|||
|---|---|---|---|
|
|||
Обрезать строку с конца |
|||
|
#18+
Получилось сделать, вот так работает: select REVERSE( SUBSTRING(REVERSE('111 222 333', instr(REVERSE('111 222 333'),' ')) ) Но это очень огромный код получился, и думаю будет нагружать mysql Можно ли сделать проще и красивее???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 12:46:25
|
|||
|---|---|---|---|
Обрезать строку с конца |
|||
|
#18+
Ты разницу между SUBSTRING_INDEX и SUBSTRING видишь, не? они даже по длине раличаются, не говоря уж о выполняемой функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 12:47:59
|
|||
|---|---|---|---|
Обрезать строку с конца |
|||
|
#18+
sql999966miksoft, твой код возвращает kis а надо privet iraДа, сорри, был невнимателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 12:50:41
|
|||
|---|---|---|---|
|
|||
Обрезать строку с конца |
|||
|
#18+
Akina, ты разницу видишь что SUBSTRING_INDEX тут не поможет?? если такой умный приведи пример с SUBSTRING_INDEX. что бы из '111 222 333' получалось '111 222', а из '111 222' получалось '111' ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 13:03:15
|
|||
|---|---|---|---|
Обрезать строку с конца |
|||
|
#18+
Ну нет так нет... я ж не против. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 13:12:35
|
|||
|---|---|---|---|
Обрезать строку с конца |
|||
|
#18+
sql999966, "Обрезать строку с конца" это не по-нашему, мы такой обряд не практикуем. Мы говорим: выкинуть из строки последнее слово. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 13:18:06
|
|||
|---|---|---|---|
Обрезать строку с конца |
|||
|
#18+
Akina, Да, у меня тоже что-то не получается через SUBSTRING_INDEX ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 13:36:42
|
|||
|---|---|---|---|
|
|||
Обрезать строку с конца |
|||
|
#18+
В итоге, кто нибудь знает как рещить задачу?? Я написал рабочий код, но он мне не нравится, сильно сложный Код: sql 1. Можно ли сделать проще? И не будет ли мой код нагружать mysql ? этот запрос обрабатывает примерно 30 тыс записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 13:45:23
|
|||
|---|---|---|---|
Обрезать строку с конца |
|||
|
#18+
sql999966не будет ли мой код нагружать mysql ? этот запрос обрабатывает примерно 30 тыс записей. Судя по тексту, процедура одноразовая (раз в час - это тоже одноразовая). Для 30к записей, которые скорее всего помещаются в память, скорость обработки потеряется на скорости дисковых операций чтения-записи. Так что сойдёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 13:50:32
|
|||
|---|---|---|---|
Обрезать строку с конца |
|||
|
#18+
miksoftу меня тоже что-то не получается через SUBSTRING_INDEX ... Да, наверное, я был неправ в своей настойчивости. Постоянно забываю, что с минусом - это отсчитать с конца, а не отбросить с начала. Приношу свои извинения автору темы. Покрутил. В любом случае получается, что для обрезки именно одного слова надо либо считать байты с конца, либо слова с начала, либо разделители в строке. И все варианты требуют предусмотреть случай, когда разделителя в строке тупо нет, или когда на "хвосте" забылся пробел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 14:19:20
|
|||
|---|---|---|---|
|
|||
Обрезать строку с конца |
|||
|
#18+
Кто-нибудь предложит свой вариант? С моим варииантом Код: sql 1. Поблема, если нет пробела это вернет пустоту! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 14:19:29
|
|||
|---|---|---|---|
Обрезать строку с конца |
|||
|
#18+
sql999966В итоге, кто нибудь знает как рещить задачу?? Кто-нибудь знает почему автор не смог забить в гугль несколько слов mysql last index of https://www.google.com/search?safe=off&complete=0&site=webhp&source=hp&q=mysql last index of&oq=mysql last index of&gs_l=hp.3...709.6523.0.6732.0.0.0.0.0.0.0.0..0.0....0...1c.1.34.hp..0.0.0.TprlSGivZOw ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 14:21:55
|
|||
|---|---|---|---|
Обрезать строку с конца |
|||
|
#18+
Вторая ссылка, тыдыщь: select LEFT ( 'Have_a_good_day', LENGTH('Have_a_good_day') - LENGTH(SUBSTRING_INDEX('Have_a_good_day','_',-1))-1 ); работает как часы, три раза надо повторить значение http://stackoverflow.com/questions/12775352/last-index-of-a-given-substring-in-mysql Ну нет в mysql непосредственно функции последнего индекса вхождения. Либо строку переворачивать, либо вычислять по кускам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 15:40:09
|
|||
|---|---|---|---|
|
|||
Обрезать строку с конца |
|||
|
#18+
deblogger твой код работает так же как мой. мой даже короче. вопрос в том что если код получает слово '111' то возвращает пустоту. как сделать что бы если он получает одно слово то и возвращает одно слово? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2014, 15:57:38
|
|||
|---|---|---|---|
Обрезать строку с конца |
|||
|
#18+
sql999966, Это не мой код, я такой фигней не страдаю. Сперва покажите что вы режете, тогда я подумаю как обрезать с остатком. ПОтому что есть теория что у вас там напихано в значение несколько значений с сепаратором как водится у лентяев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1832622]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 308ms |

| 0 / 0 |
