[英]Pulling a substring starting and ending with a special character from rows of a MySQL table
我有一个表articles
与列body
。
在body
列中,我有很多行带有<img>
标签,例如
----------------------------------------
body
----------------------------------------
This is <img src="www.abc.com/1"> artcle 1
This is article 2
This is <img src="www.abc.com/2"> article 3
This is article 4
现在,我想所有的src
部分,像www.abc.com/1
, www.abc.com/2
等。
我使用了所有这样的行
select body from articles where body like `%img%`
如何仅提取链接(src)部分?
您可以将substr方法与locate和反向定位一起使用,以从src =“ www.abc.com/1”找到开头的双引号和结尾的双引号,如下所示:
SELECT
body,
SUBSTR(
body,
LOCATE('"',body)+1,
(CHAR_LENGTH(body) - LOCATE('"',REVERSE(body)) - LOCATE('"',body))
) AS 'SRC URL'
FROM articles
WHERE body LIKE '%img%'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.