SQL学习笔记——REGEXP运算符

5 篇文章 1 订阅
5 篇文章 2 订阅

REGEXP运算符,是正则表达式(regular expression)的缩写,正则表达式在搜索字符串时非常强大,下面是关于它的应用

1.查找名字中包含field的顾客

select *
from customers
where last_name like '%field%'

运用REGEXP运算符,可以这样写,同样可以得出数据

select *
from customers
where last_name regexp 'field'

2.查找姓氏以Brush开头的顾客

 ^表示查找的字符串必须以什么开头

select *
from customers
where last_name regexp '^brush'

 

 

 3.查找姓氏以field结尾的顾客

$表示查找的字符串必须以什么结尾

select *
from customers
where last_name regexp 'field$'

3.查找姓氏包含field或者mac的顾客

|符号表示多个搜寻模式

select *
from customers
where last_name regexp 'brush|mac'

4.查找以brush开头,或者包含mac,或者包含rose的顾客

select *
from customers
where last_name regexp '^brush|mac|rose'

 

5.查找姓氏包含e,且前面要有g或i或m

select *
from customers
where last_name regexp '[gim]e'

 

6.查找姓氏包含e,且后面要有a但h中的一个字母

select *
from customers
where last_name regexp 'e[a-h]'

总结:

^表示字符串开头

¥表示字符串结尾

|表示逻辑上的or,可以给出多个搜索模式

[]表示任意在括号里列举的单字符

[-]表示任意在括号内范围内的单字符

练习

1.获取名字是Elka或者Ambur的顾客

select *
from customers
where first_name regexp 'elka|ambur'

 2.返回姓氏以ey或者on结尾的顾客

select *
from customers
where last_name regexp 'ey$|on$'

 3.获取姓氏以my打头,或者包含se的顾客

select *
from customers
where last_name regexp '^my|se'

 4.返回顾客,姓氏包含b,然后是r或者u

select *
from customers
where last_name regexp 'b[ru]'

 

  • 35
    点赞
  • 192
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值