作者:小晶晶妮妮宝贝 | 来源:互联网 | 2023-10-15 21:20
在Android中的SQLite查询中似乎不可能使用REGEXP.如果有可能,请指出正确的方向.有没有办法使用LIKE条件在结果中的任何单词的开头查询表达式?例:项: 1.最低 2
在Android中的SQLite查询中似乎不可能使用REGEXP.如果有可能,请指出正确的方向.
有没有办法使用LIKE条件在结果中的任何单词的开头查询表达式?
例:
项:
1.最低
2.铝
3.最后一分钟
查询:
“min” 是
期望的结果
(1)最低限度
(3)最后一分钟
不
(2)铝
这基本上是我当前的代码,它将返回(2)铝:
public Cursor search(String query) {
return mDb.query(TABLE, COLUMNS, KEY_NAME +" like ?", new String[] { "%"+query+"%" }, null, null, null);
}
任何帮助将不胜感激!
解决方法:
这有点像黑客,但……
foo LIKE 'bar%' OR foo LIKE '% bar%'
可能适合您的需求(在“foo”中单词的开头找到“bar”).如果你还想要标点符号作为单词分隔符,你也必须为它添加OR子句(因此它为什么是黑客).