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

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

餐桌水果

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

查询

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

结果

  1. ID fruit_name
  2. 1 Apple
  3. 2 Banana

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

gkl3eglg

gkl3eglg1#

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

  1. SELECT *
  2. FROM Fruits
  3. WHERE fruit_name > 'A' and fruit_name < 'D';

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

  1. SELECT *
  2. FROM Fruits
  3. WHERE fruit_name REGEXP '^[A-C]';

相关问题