本文主要是介绍SQL常用语句--模糊查询REGEXP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
REGEXP 是正则表达式(regular expression) 的缩写 . 正则表达式在搜索字符串时非常强大. 它允许我们搜索更复杂的模式。
模糊匹配
1)包含特定字符串
SELECT *
FROM customers
WHERE last_name REGEXP 'field' -- 查找名字中带field的记录
2)我们可以用 ‘^’ 表示字符串的开头,
SELECT *
FROM customers
WHERE last_name REGEXP '^field' -- 表示我们的姓氏必须以field开头
3)我们还用美元符号 $ 代表字符串末尾,
SELECT *
FROM customers
WHERE last_name REGEXP 'field$' -- 表示我们的姓氏必须以field结尾
搜寻多个单词
表示查询以field开头的姓氏或者姓氏中含有mac或者姓氏中含有rose
SELECT *
FROM customers
WHERE last_name REGEXP '^field|mac|rose'
假设你想搜寻姓氏里有e的顾客,
如果你想要确保在e前要有g或者i两者之一, 这时需要用到方括号[],在括号里加上多个字母, 比如g,I,m,对应了任何姓氏里有ge或者ie或者me的顾客.
SELECT *
FROM customers
WHERE last_name REGEXP '[gim]e' -- 可以用 ‘[a-h]e’ 表示 ‘[abcdefg]e’.
总结:
^:beginning
$:end
|:logical or
[abcd]:使用 [] 匹配任意在括号里列举的单字符.
a-f:表示 [abcdefg], - 代表一个范围.
这篇关于SQL常用语句--模糊查询REGEXP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!