mysql 正则表达式 提取

MySQL支持使用正则表达式进行查询。在WHERE子句中,可以使用REGEXP或RLIKE运算符来匹配正则表达式。

例如,下面的查询将检索所有以"a"开头的客户名称:

SELECT name FROM customers WHERE name REGEXP '^a';

可以使用SUBSTRING() 函数和REGEXP_SUBSTR() 函数来提取正则表达式中的部分内容。

例如,下面的查询将提取email中@之前的部分:

SELECT email, SUBSTRING(email, 1, LOCATE('@', email) - 1) AS username FROM users;
SELECT email, REGEXP_SUBSTR(email, '(.*)@') as username FROM users;

请注意,在使用正则表达式时性能可能较差,因此在大型数据集上使用时应谨慎。

  •