我想找到表艺术家的数据,其中名称以字母a,b,c开头。
i.e.
My o/p should contain
Adam
Alan
Bob
Ben
Chris
Cameron
But not GlAin, doC, dolBie
答案 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。