我有一个类似字典的应用程序,现在我需要一些帮助。
我想在SQLite中尝试查找单词时使用正则表达式,但正则表达式是用户函数,因此SQLite不直接支持它。
这个想法是app应该找到所有用字母创建的单词,例如'a e b i p',它应该返回像babe,abe,pie等字样。
任何帮助都将不胜感激。
所以为了更清楚,我想做一个select语句,返回包含字母a,e,b,i和p的所有单词,但不限于单词长度,这样我收到的单词就像即使在最后两个字母中没有字母bi,也可以作为死和馅饼。
很抱歉由于没有妥善制定的问题而造成的不便。
答案 0 :(得分:3)
您是否尝试过使用GLOB
?
SELECT * FROM tablename WHERE wordname GLOB "*[aebip]*"
答案 1 :(得分:1)
另一种解决方案是使用UNION运算符(可以删除重复的行)。
SELECT * FROM tablename WHERE wordname LIKE '%a%'
UNION ALL
SELECT * FROM tablename WHERE wordname LIKE '%b%'
....
答案 2 :(得分:0)
SELECT * FROM tablename
WHERE wordname LIKE '%a%'
AND wordname LIKE '%e%'
AND wordname LIKE '%b%'
AND wordname LIKE '%i%'
AND wordname LIKE '%p%'