在select语句中使用mysql Regexp而不是where子句

时间:2010-07-04 16:37:53

标签: mysql

所以我想要做的是使用Regex只从列中选择某些数据部分

示例:

来自websitelist的SELECT URL REGEXP'http://' - (网站列表是网址列表)

如果我对表运行它会返回1个foreach行,其中找到'htt://',我想要的是返回与正则表达式匹配的字符串

2 个答案:

答案 0 :(得分:2)

REGEXP运算符执行匹配并根据字符串是否与表达式匹配返回01。它没有提供提取匹配部分的方法。我认为没有办法提取匹配的部分。

答案 1 :(得分:2)

如果它只是像你的例子一样简单,你可以使用字符串函数 - 只需删除http://

SELECT REPLACE(URL, 'http://', '') AS url FROM websitelist;

可能更快,因为REGEX引擎有开销。