Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удалить только последний слеш в записи / 5 сообщений из 5, страница 1 из 1
27.12.2020, 14:42
    #40031589
realmen80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить только последний слеш в записи
В одном из столбцов в таблице базы данных мне нужно удалить последний символ строки, если это слеш '/'. То есть если последний символ СЛЕШ - удаляем его, если НЕ СЛЕШ - пропускаем.

В данном столбце вот такие записи:

/detskie-igrushki/
/podarki/dlya-nego/
/golovolomki/
/kak-oformit-zakaz.html
/uk/podarki/dlya-shefa/
и т.д.

То есть символ СЛЕШ, может несколько раз встречаться в одной записи, а удалить нужно ТОЛЬКО слеш в КОНЦЕ, если он есть.

Запрос НАЙТИ и ЗАМЕНИТЬ, вот такой - UPDATE cs_seo_redirects SET dest = REPLACE( dest, '/', '');

удалит все слеши, а не только последний. А нужно удалить слеш только в конце. Подскажите, пожалуйста, есть ли возможность с помощью SQL запроса удалить слеш только в конце?
...
Рейтинг: 0 / 0
27.12.2020, 14:58
    #40031596
Gluck99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить только последний слеш в записи
realmen80,
Код: sql
1.
TRIM(TRAILING '/' FROM MyField)
...
Рейтинг: 0 / 0
27.12.2020, 15:19
    #40031599
realmen80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить только последний слеш в записи
Gluck99, спасибо.

Попробовал, но пишет какую-то ошибку
...
Рейтинг: 0 / 0
27.12.2020, 15:45
    #40031603
realmen80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить только последний слеш в записи
Вот такое решение проблемы.
UPDATE table_name
SET col_name = SUBSTRING(col_name, 1, LENGTH(col_name) - 1)
WHERE col_name REGEXP '.*\/$'
...
Рейтинг: 0 / 0
27.12.2020, 15:58
    #40031609
Gluck99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить только последний слеш в записи
realmen80
Вот такое решение проблемы.
UPDATE table_name
SET col_name = SUBSTRING(col_name, 1, LENGTH(col_name) - 1)
WHERE col_name REGEXP '.*\/$'
Ну, это не так элегантно, я такое и советовать не стал, хотя подобный вариант в голове был, разумеется.
А почему TRIM не работает - разбирайтесь, должно работать. Где-то косяк у вас.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удалить только последний слеш в записи / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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