我在DB(Mysql 5.7)中有很多与params的链接,需要提取id参数(比如这个 - https://item.taobao.com/item.htm?id=550585067709,可以有很多参数,不仅有一个...),有preg_match与正则表达式,我在php中使用 -
preg_match_all('/(?|&)id=(.*?)&/', $link, $matches);
如何在MySQL查询中提取此ID?
答案 0 :(得分:1)
您可以使用SUBSTRING_INDEX
:
-- output assume a URL of https://item.taobao.com/item.htm?id=550585067709
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(url_col, '?', -1), '&', 1)
FROM dual;
id=550585067709
请注意,上述解决方案在是否存在多个参数(即是否存在&
)方面是健壮的。