在mysql中,可以使用正则表达式去进行匹配,比如在如下的场景,是十分有用的:
比如有如下的两个表
employee_hobby
id hobbies
--- --------
1 Travelling
2 Suring the Internet
3 Reading
4 Swimming
5 Meeting Friends
6 Cooking
. .
. .
10 Watching Movie
employee
id hobby_ids
--- ---------
1 1,4,3,6,10
2 1,3,4,10
3 7
. .
. .
10 3,5,6,9
employee表记录了某个员工的爱好有哪些,这里不是用典型的一对多来存储,而是用
逗号来进行分隔
那么,要找的是:
1) 有哪些人有4号的爱好
SELECT id FROM employee WHERE hobby_ids REGEXP "[[:<:]](4)[[:>:]]"
注意:
[[:<:]], [[:>:]]
这些标记表示word边界。它们分别与word的开始和结束匹配。word是一系列字字符,其前面和后面均没有字字符。字字符是alnum类中的字母数字字符或下划线(_)。
2)查找同时有这些爱好的:
SELECT id FROM employee WHERE hobby_ids REGEXP "[[:<:]](1|4|10)[[:>:]]"
分享到:
相关推荐
mysql字符串比较函数:concat和regexp.pdf
MySQL数据库作为最流行的开源数据库之一,提供了多种工具来执行这类操作,其中replace函数和regexp正则表达式是强大的工具。replace函数可以通过简单的字符串替换来更新数据,而regexp则可以使用复杂的正则表达式...
标题"mysql_regexp_replace.zip_oracle"表明我们关注的是如何在 MySQL 中实现类似于 Oracle 的 `REGEXP_REPLACE` 函数的功能。Oracle 的 `REGEXP_REPLACE` 函数允许用户使用正则表达式进行复杂的字符串替换操作,而 ...
mysql-udf-regexp 该程序包将正则表达式函数用作MySQL用户定义函数(UDF)。...这些函数支持与MySQL REGEXP运算符相同的正则表达式语法,如MySQL手册的正则表达式附录中所述。 这些功能在名称上与Oracle SQL函数
STRCMP STRCMP()函数是MySQL里比较字符串的最简单方式之一。这个函数接受两个参数——要被比较的字符串。如果这个两个字符串相同,它就返回0;如果第一个大于第二个,它就返回1;如果第一个小于第二个,它就返回-1 ...
MySQL内部函数是数据库管理系统中非常重要的组成部分,它们用于执行各种数据处理任务,包括但不限于计算、比较、转换和处理日期时间等。以下是对标题和描述中提及的一些关键知识点的详细解释: 1. **操作符和操作符...
本文实例讲述了mysql正则表达式(regexp和rlike)的搜索功能。分享给大家供大家参考,具体如下: 我们知道正则表达式是描述搜索模式的特殊字符串。 它是一个强大的工具,为我们提供一种简洁灵活的方法来识别基于模式...
MySQL中的字符串函数是数据库操作中不可或缺的一部分,它们用于处理和操作文本数据,这些数据在数据库中以字符串形式存在。字符串函数提供了多种功能,包括字符转换、查找、替换、截取和计算长度等。 1. ASCII(str)...
在 MySQL 中,可以使用 REGEXP 运算符来使用正则表达式过滤数据。 19.SELECT 语句的重要性 在 MySQL 中,SELECT 语句是最重要的,也是使用最频繁的语句。 20.实体完整性 在 MySQL 中,设置外键可以实现实体...
例如,创建一个名为 `MySQL5DialectRegexp` 的类,继承 `org.hibernate.dialect.MySQLInnoDBDialect`,并注册一个自定义函数来处理 `REGEXP`: ```java public class MySQL5DialectRegexp extends org.hibernate....
在MySQL数据库中,`SPLIT`函数并不是内置的函数,但我们可以使用其他方式来实现类似的功能,即字符串分隔。通常,我们用`SUBSTRING_INDEX()`或`REGEXP_REPLACE()`结合`FIND_IN_SET()`来分割字符串。这些函数在处理...
MySQL中的字符串函数是数据库操作中不可或缺的一部分,它们提供了丰富的功能,帮助用户处理和操作字符串数据。在MySQL中,字符串函数主要分为以下几个类别: 1. **ASCII()** 函数:返回字符串中最左边字符的ASCII...
* 字符串函数:Presto SQL 和 MySQL SQL 都支持字符串函数,如 `substring()`、`substring_index()`、`regexp_like()` 等。 * 数学函数:Presto SQL 和 MySQL SQL 都支持数学函数,如 `round()`、`coalesce()` 等。 ...
除了REPLACE函数,MySQL还提供了REGEXP_REPLACE函数(从MySQL 8.0版本开始引入),这个函数可以直接进行正则表达式的替换操作。使用REGEXP_REPLACE函数的语法如下: ```sql UPDATE test SET url = REGEXP_REPLACE...
MySQL中的`SUBSTRING_INDEX()`函数是进行字符串分割的常用工具。它返回一个子串,该子串包含了从原始字符串的起始部分到指定分隔符出现的次数。函数的基本语法如下: ```sql SUBSTRING_INDEX(str, delim, count) ``...
本篇文章将深入解析MySQL中的一些常用函数和操作符。 首先,了解操作符的优先级至关重要,因为它决定了表达式的计算顺序。在MySQL中,操作符的优先级从低到高排列如下: 1. `:=`、`||`、`OR`、`XOR` 2. `&&`、`AND...
5. CREATE TABLE语句:试题中涵盖了CREATE TABLE语句的使用,包括FULLTEXT子句的使用。 6. ALTER TABLE语句:试题中涉及到ALTER TABLE语句的使用,包括删除一列的操作。 7. DROP TABLE语句:试题中涵盖了DROP ...
正则表达式增强,提供了REGEXP_LIKE(),EGEXP_INSTR(), REGEXP_REPLACE(), REGEXP_SUBSTR()等函数 新增备份锁,允许在线备份期间的DML,同时防止可能导致快照不一致的操作。 备份锁由LOCK INSTANCE FOR BACKUP和...