与“%”一起使用时,对文本值使用between的查询是独占的吗?

scyqe7ek  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(284)

餐桌水果

ID    fruit_name  
1     Apple  
2     Banana  
3     Cherry  
4     Watermelon  
5     Cucumber

查询

select * from Fruits where fruit_name between 'A%' and 'C%';

结果

ID    fruit_name  
1     Apple  
2     Banana

我的问题是,既然between是包含的,为什么它不返回下面的结果呢
结果
身份证名称
1个苹果
2根香蕉
3樱桃
5 cucumber

gkl3eglg

gkl3eglg1#

您可以在此处使用范围比较:

SELECT *
FROM Fruits
WHERE fruit_name > 'A' and fruit_name < 'D';

这将返回所有按字典顺序大于 A 但之前 D ,这意味着所有以a、b或c开头的水果都将被包括在内。
regex选项在这里也适用:

SELECT *
FROM Fruits
WHERE fruit_name REGEXP '^[A-C]';

相关问题