我想找到的数据表艺术家的名字是开始与字母a,b,c。
i.e. My o/p should contain Adam Alan Bob Ben Chris Cameron But not GlAin, doC, dolBie
cs7cruho1#
在MySQL中,使用'^'来确定你想要检查字符串的第一个字符,然后定义你想要检查的字母数组[]。试试这个
'^'
SELECT * FROM artists WHERE name REGEXP '^[abc]'
6tdlim6h2#
你可以使用类似'A%'的表达式,但是如果你想让这个查询在大型表中运行得更快,我建议你把第一个按钮的数量放在单独的字段中,并使用小的int类型。
zsohkypk3#
试试这个:
select * from artists where name like "A%" or name like "B%" or name like "C%"
siv3szwd4#
也可以如下使用RLIKE
RLIKE
SELECT * FROM artists WHERE name RLIKE '^[abc]';
gdrx4gfi5#
尝试这个简单的选择:
select * from artists where name like "a%"
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');
li9yvcax7#
尝试使用CHARLIST,如下所示:
select distinct name from artists where name RLIKE '^[abc]';
仅当您想要唯一不同的值时才使用不同。要阅读有关它的信息,请单击here。
a64a0gku8#
我猜
SELECT * FROM artists WHERE name >= 'a' and name < 'd'
只要名字被索引,它就能表现得很好。
8条答案
按热度按时间cs7cruho1#
在MySQL中,使用
'^'
来确定你想要检查字符串的第一个字符,然后定义你想要检查的字母数组[]。试试这个
6tdlim6h2#
你可以使用类似'A%'的表达式,但是如果你想让这个查询在大型表中运行得更快,我建议你把第一个按钮的数量放在单独的字段中,并使用小的int类型。
zsohkypk3#
试试这个:
siv3szwd4#
也可以如下使用
RLIKE
gdrx4gfi5#
尝试这个简单的选择:
ecr0jaav6#
我会使用MySql中的substr()功能。
基本上,该函数考虑三个参数i.例如substr(str,pos,len)
http://www.w3resource.com/mysql/string-functions/mysql-substr-function.php
li9yvcax7#
尝试使用CHARLIST,如下所示:
仅当您想要唯一不同的值时才使用不同。要阅读有关它的信息,请单击here。
a64a0gku8#
我猜
只要名字被索引,它就能表现得很好。