powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удалить часть строки до символа "/"
11 сообщений из 11, страница 1 из 1
Удалить часть строки до символа "/"
    #38655199
smarton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имею строки следующего вида:
8/o_068c8c18e1cbbc0.jpg
17/o_64be33cfb12833e.jpg
24133/o_cb9c1d2fa27472d.jpg

Необходимо в каждой строке удалить значения до символа "/" (без кавычек) включительно. Перед символом "/" разное количество значений (от 1 до 5).
*Красным выделено то, что необходимо удалить.

Какую команду использовать и как ее прописать?
UPDATE table SET field = CONCAT(
UPDATE table SET field = SUBSTR(
...
Рейтинг: 0 / 0
Удалить часть строки до символа "/"
    #38655221
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Удалить часть строки до символа "/"
    #38656389
smarton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Вроде просто, но на деле... Начал делать, не получается, допускаю ошибки. Подскажите что не так.

Код: sql
1.
2.
UPDATE users SET user_cover = SUBSTRING_INDEX('user_cover', '/', -1)
SELECT user_cover, SUBSTRING_INDEX(user_cover,'/',-1) FROM users
...
Рейтинг: 0 / 0
Удалить часть строки до символа "/"
    #38656399
smarton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помучился еще немного и сделал:
Код: sql
1.
UPDATE users SET user_cover = CONCAT(SUBSTRING_INDEX(user_cover, '/', -1))


Забыл про функцию CONCAT
...
Рейтинг: 0 / 0
Удалить часть строки до символа "/"
    #38656572
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smarton,

а зачем тут конкат? первый запрос делал то, что надо
впрочем, и этот делает, только он длиннее
...
Рейтинг: 0 / 0
Удалить часть строки до символа "/"
    #38657124
smarton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglirа зачем тут конкат? первый запрос делал то, что надо


Я тоже так думал, но если использовать запрос
Код: sql
1.
UPDATE users SET user_cover = SUBSTRING_INDEX('user_cover', '/', -1)


в колонке user_cover поле заполняется таким же значением - "user_cover". Запрос не обрезает значения до символа "/", а полностью заменяет текущее значение (24133/o_cb9c1d2fa27472d.jpg) на user_cover.

То есть, если обращаться напрямую к функции SUBSTRING_INDEX, она не работает должным образом, если обращаться через CONCAT - выполняет необходимую задачу. Сам не могу понять почему именно CONCAT решает проблему, ведь функция объединяет строки. Возможно, что не только через CONCAT будет выполняться задача, возможно даже не совсем правильно использовать именно CONCAT в данном случае, но работает.

Если кто-то может объяснить, буду рад стать немного умнее ))))
...
Рейтинг: 0 / 0
Удалить часть строки до символа "/"
    #38657277
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smartonЕсли кто-то может объяснитьА задлянафига вы название поля берёте в кавычки? Естественно, при этом получается строка "user_cover", ну и результат соответствующий.
...
Рейтинг: 0 / 0
Удалить часть строки до символа "/"
    #38657279
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smartonСам не могу понять почему именно CONCAT решает проблемупотому что там кавычек нет
...
Рейтинг: 0 / 0
Удалить часть строки до символа "/"
    #38657294
smarton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglirА задлянафига вы название поля берёте в кавычки? Естественно, при этом получается строка "user_cover", ну и результат соответствующий.
Точно! Я реально не обратил внимание на кавычки и начал искать проблему в другом. Все гениальное - просто)))
Благодарю, что ткнули носом ))
...
Рейтинг: 0 / 0
Удалить часть строки до символа "/"
    #38657409
Фотография vip-y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smarton,
если у вас будет более одного аргумента
CONCAT не советую использовать, всегда меняйте на CONCAT_WC
CONCAT Возвращает NULL, если какой либо из аргументов является NULL, а CONCAT_WC их пропускает
...
Рейтинг: 0 / 0
Удалить часть строки до символа "/"
    #38657432
smarton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vip-yесли у вас будет более одного аргумента
CONCAT не советую использовать, всегда меняйте на CONCAT_WC
CONCAT Возвращает NULL, если какой либо из аргументов является NULL, а CONCAT_WC их пропускает
Я понял, спасибо за уточнение.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удалить часть строки до символа "/"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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