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

时间:2009-12-23 08:06:01

标签: mysql

我想找到表艺术家的数据,其中名称以字母a,b,c开头。

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

But not GlAin, doC, dolBie

7 个答案:

答案 0 :(得分:15)

试试这个:

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

答案 1 :(得分:14)

在MySQL中使用'^'来识别您要检查字符串的第一个字符,然后定义要检查的字母数组[]。

试试这个

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

答案 2 :(得分:11)

您可以使用类似'A%'的表达式,但如果您希望此查询对大型表快速运行,我建议您将第一个按钮的数量放入具有小型int类型的单独字段中。

答案 3 :(得分:7)

也可以使用RLIKE,如下所示

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

答案 4 :(得分:1)

尝试这个简单的选择:

select * 
from artists 
where name like "a%"

答案 5 :(得分:0)

我会选择MySql中的substr()功能。

基本上,这个功能考虑了三个参数,即 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');

答案 6 :(得分:0)

尝试使用 CHARLIST ,如下所示:

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

仅在您只需要不同的值时才使用distinct。 阅读相关内容点击here