获得介于(包括)A和D之间的结果

时间:2013-07-15 11:57:13

标签: php mysql

我试图找出如何进行mysql查询,其中我返回以(例如)A-D开头的结果,也就是返回:   - 动物   - 银行  - 可乐   - 狗 但不是:igloo

看起来非常简单,但无法找到一种有效的方法。

我的意思是我可以根据一封信得到它:

SELECT * FROM table WHERE word LIKE 'A%'

但我怎么能轻易地用多个字母做这个。我考虑过一个循环,将字母从A递增到D,但这对于字母来说并没有多大意义。想法?

2 个答案:

答案 0 :(得分:7)

SELECT *
FROM table
WHERE word REGEXP '^[A-D]';

答案 1 :(得分:3)

普通between效果很好,可以使用索引。

Select * from table where word between 'a' and 'e' and word != 'e';

所有以'a'开头的单词应大于'a',所有以'd'开头的单词应小于'e'。

这是一个sqlfiddle,表明它在概念上有效,也可以与正则表达式替代。查看执行计划以了解索引的使用方式。