MySQL SubString для извлечения точной части

0

У меня есть проблема, связанная с отсутствием знаний в SQL.

У меня есть столбец в моей базе данных, где я сохраняю это:

<div class="product-cover" style="border:none;">
<div class="images-container">
<div class="images-container"><img src="https://myurl.com/img/cms/_DSC6641.jpg" title="" alt="" /></div>
</div>

Я пытаюсь извлечь строку " https://myurl.com/img/cms/_DSC6641.jpg ", которая отличается для каждой строки.

Можно ли создать запрос для извлечения этой точной части между src= "..."?

Я использую MySQL/MariaDB

  • 0
    почему вы хотите сделать это с mysql, какой язык бэкэнда вы используете?
  • 0
    Какая у вас версия mysql?
Показать ещё 2 комментария
Теги:
mariadb
substring

2 ответа

0

Я нашел способ, используя ответ от D-Shih

SELECT 
	SUBSTRING( 
		pl.description,
		LOCATE('src="',pl.description) + CHAR_LENGTH('src="'),
		( LOCATE('" title', pl.description)) - ( LOCATE('src="', pl.description) + CHAR_LENGTH('src="') )
	) as url
FROM ps_product p 
INNER JOIN ps_product_lang pl ON (pl.id_product=p.id_product)
0

Я бы использовал substring_index():

select substring_index(substring_index(col, '<div class="images-container"><img src=', -1), ' ', 1)
  • 0
    ОП говорит, что у них есть несколько изображений и хотел извлечь все
  • 0
    @sumit. , , Я не вижу этого в вопросе: «Я пытаюсь извлечь строку« myurl.com/img/cms/_DSC6641.jpg », которая отличается для каждой строки».

Ещё вопросы

Сообщество Overcoder
Наверх
Меню