sql—如何在mysql中查找包含单个“e”的名称

az31mfrm  于 2021-07-29  发布在  Java
关注(0)|答案(2)|浏览(347)

我的表名是 student 列名称为 FullName .
有人能帮忙回答这个问题吗?我试过:

select FullName from student where fullName like "e"

但这将返回0行。

2wnc66cl

2wnc66cl1#

如果你想让学生至少有一个 'e' ,然后:

select fullname 
from student 
where fullname like '%e%'

注意通配符的用法( % )周围 e ,它在字符串中的任意位置搜索字符。
但如果你真的是指那些 e (不能多,不能少),然后需要过滤掉包含多个名称的名称。为此,您可以:

select fullname 
from student 
where fullname like '%e%' and fullname not like '%e%e%'

你也可以用 replace() 以及 char_length() :

select fullname 
from student 
where char_length(replace(fullname, 'e', '')) = char_length(fullname) - 1
oug3syen

oug3syen2#

可以使用正则表达式:

select fullname
from student
where fullname regexp '^[^e]*e[^e]*$'

相关问题