Извлечь определенный текст строки, используя mysql
У меня есть следующая строка:
https://scontent-sjc3-1.xx.fbcdn.net/v/t1.0-1/p200x200/26056120_2094108927485604_7093424189760207868_n.png
Что я хочу, чтобы сохранить только:
26056120_2094108927485604_7093424189760207868_n.png
Я уже пытался использовать LOCATE и INSTR, но безуспешно. Некоторые люди говорили мне использовать регулярные выражения, но я не знаю, как это сделать в MySQL.
Все, что мне нужно, это информация о правильном пути для этого.
PS: 1 - мне нужно ОБНОВИТЬ 2 - ЗАМЕНА не вариант, у меня есть другие строки facebook, которые отличаются.
Благодарю.
2 ответа
Решение
Вы хотите, кажется, все после последнего /
в каждой строке URL. Это работа для SUBSTRING_INDEX()
с отрицательным последним параметром.
SELECT SUBSTRING_INDEX(url_column, '/', -1)
сделает свое дело.
Когда я изучал MySQL шесть месяцев, мне было очень полезно потратить два часа на перечитывание этих двух страниц справочника.
Вы можете попробовать что-то вроде этого
SELECT DISTINCT post_content, LEFT(post_content, LENGTH(post_content) - 36) as gallery_content_post,
post_title, substring(post_content,12, 1) as gallery_id
FROM wp_posts
WHERE id=[some id]
Надеюсь, это сработает