如何在mysql中使用正则表达式提取子字符串

时间:2012-08-03 08:34:45

标签: mysql sql regex

例如,我有一个表保存了一堆URL。

like http://...?action_press=1&pid=56523

我想得到变量pid的所有id。 我想写一些像"pid=(\d+)"这样的东西来提取所有这些ID。

我不想使用locate(),因为有时网址可能看起来像

?pid=56523&action_press=1

是否可以使用正则表达式来实现它?

1 个答案:

答案 0 :(得分:4)

您可以使用

SELECT
    SUBSTRING_INDEX(SUBSTRING_INDEX(url_column, 'pid=', -1), '&', 1)
FROM
    tbl

SQLFiddle Demo