Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我试图弄清楚如何做一个mysql查询,我返回以(例如)AD开头的结果,又名将返回:-动物-银行-可乐-狗但不是:冰屋
看起来很简单,但无法找到一种有效的方法来做到这一点。
我的意思是我可以根据一封信得到它:
SELECT * FROM table WHERE word LIKE 'A%'
但我怎么能轻松地用多个字母做到这一点。我考虑了一个循环'将字母从 A 增加到 D 但这对字母没有多大意义。想法?
SELECT * FROM table WHERE word REGEXP '^[A-D]';
正常的between效果很好,可以使用索引。
between
Select * from table where word between 'a' and 'e' and word != 'e';
所有以“a”开头的单词都应该大于“a”,所有以“d”开头的单词都应该小于“e”。
这是一个sqlfiddle,表明它在概念上有效,并且还与正则表达式替代方案进行了比较。查看执行计划以了解如何使用索引。