mysql 5中的REGEXP函数
在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 "[[:<:>:]]"
注意:
[[:<:>:]]
这些标记表示word边界。它们分别与word的开始和结束匹配。word是一系列字字符,其前面和后面均没有字字符。字字符是alnum类中的字母数字字符或下划线(_)。
2)查找同时有这些爱好的:
SELECT id FROM employee WHERE hobby_ids REGEXP "[[:<:>:]]"
欢迎大家阅读《mysql 五中的REGEXP函数_mysql》,跪求各位点评,by 搞代码
微信 赏一包辣条吧~
支付宝 赏一听可乐吧~