[REGEXP] - regular expresion 正则表达式

SELECT *
FROM customers
WHERE last_name LIKE '%field%'

<=>

SELECT *
FROM customers
WHERE last_name REGEXP 'field'

'^ + 字符串' ---> 限定以某字符串开头

SELECT *
FROM customers
WHERE last_name REGEXP '^field'

‘字符串 + $’ ---> 限定以某字符串结尾

SELECT *
FROM customers
WHERE last_name REGEXP 'field$'

| 或运算, 中间有空格就搜不出来了

SELECT *
FROM customers
WHERE last_name REGEXP 'field|mac'

 

多个条件查询

SELECT *
FROM customers
WHERE last_name REGEXP 'field|mac|rose'

必须以field开头或者...或者...

少了一条记录 

SELECT *
FROM customers
WHERE last_name REGEXP '^field|mac|rose' 

可以搜寻到以file结尾的brushfield

SELECT *
FROM customers
WHERE last_name REGEXP 'field$|mac|rose' 

 

[   ],  或者, ge, ie, me  

SELECT *
FROM customers
WHERE last_name REGEXP '[gim]e'
 

 

[x -y], 区间检索, 中间不能空格, 两边都是闭区间

SELECT *
FROM customers
WHERE last_name REGEXP '[a-l]e'
 

 

 

summary:

^ beginning

$ end

l logical or

[abcd] any of them

[a-f] any of them in this range

  • homework1

first name are ELKA or AMBUR

SELECT *
FROM customers
WHERE first_name REGEXP 'elka|ambur'
 

可惜这是错误的, 这个代表正则表达式搜寻包含ELKA或者AMBUR的用户

right1:

SELECT *
FROM customers
WHERE first_name REGEXP '^elka$|^ambur$'

right2:

SELECT *
FROM customers
WHERE first_name IN ('elka','ambur')
 

 

  • homework2

last names end with EY or ON

SELECT *
FROM customers
WHERE last_name REGEXP 'ey$|on$'
 

  • homework3

last names start with MY or contains SE

SELECT *
FROM customers
WHERE last_name REGEXP '^my|se'
 

 

 

homework4

last names contain B followed by R or U

SELECT *
FROM customers
WHERE last_name REGEXP 'b[ru]' 
 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值