由于缺乏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 :(得分: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)