MySQL SubString提取确切部分

时间:2018-08-16 22:23:15

标签: mysql sql regex substring mariadb

由于缺乏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

2 个答案:

答案 0 :(得分:0)

我会使用substring_index()

select substring_index(substring_index(col, '<div class="images-container"><img src=', -1), ' ', 1)

答案 1 :(得分: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)