使用mysql查询查找所有以字母'a'开头的名称

ldfqzlk8  于 2023-04-28  发布在  Mysql
关注(0)|答案(8)|浏览(307)

我想找到的数据表艺术家的名字是开始与字母a,b,c。

i.e. 
My o/p should contain
Adam
Alan
Bob
Ben
Chris
Cameron

But not GlAin, doC, dolBie
cs7cruho

cs7cruho1#

在MySQL中,使用'^'来确定你想要检查字符串的第一个字符,然后定义你想要检查的字母数组[]。
试试这个

SELECT * FROM artists WHERE name REGEXP '^[abc]'
6tdlim6h

6tdlim6h2#

你可以使用类似'A%'的表达式,但是如果你想让这个查询在大型表中运行得更快,我建议你把第一个按钮的数量放在单独的字段中,并使用小的int类型。

zsohkypk

zsohkypk3#

试试这个:

select * from artists where name like "A%" or name like "B%" or name like "C%"
siv3szwd

siv3szwd4#

也可以如下使用RLIKE

SELECT * FROM artists WHERE name RLIKE '^[abc]';
gdrx4gfi

gdrx4gfi5#

尝试这个简单的选择:

select * 
from artists 
where name like "a%"
ecr0jaav

ecr0jaav6#

我会使用MySql中的substr()功能。
基本上,该函数考虑三个参数i.例如substr(str,pos,len)
http://www.w3resource.com/mysql/string-functions/mysql-substr-function.php

SELECT * FROM artists 
WHERE lower(substr(name,1,1)) in ('a','b','c');
li9yvcax

li9yvcax7#

尝试使用CHARLIST,如下所示:

select distinct name from artists where name RLIKE '^[abc]';

仅当您想要唯一不同的值时才使用不同。要阅读有关它的信息,请单击here

a64a0gku

a64a0gku8#

我猜

SELECT * FROM artists WHERE name >= 'a' and name < 'd'

只要名字被索引,它就能表现得很好。

相关问题