【问题标题】:Android Room getting substring not workingAndroid Room获取子字符串不起作用
【发布时间】:2021-07-04 18:12:49
【问题描述】:
我正在尝试使用 room 搜索子字符串,例如在字符串“我正在吃羊肉”中,我正在尝试将“正在吃”作为子字符串进行搜索,我正在尝试这个查询,如果我搜索确切的子字符串,它就可以正常工作“吃”,但如果我用“我正在吃米饭”等搜索则不起作用。
@Query("select msg_temp from auto_reply where keyword LIKE '%'||:keyword||'%'")
fun selectKeyword(keyword: String): String
我看过很多答案,都建议使用相同的方法,即使这个查询在 sqlite 浏览器中也有效。任何帮助都应该感谢
【问题讨论】:
标签:
android
sql
sqlite
android-room
【解决方案1】:
尝试使用:-
@Query("select msg_temp from auto_reply where keyword LIKE :keyword")
fun selectKeyword(keyword: String): String
然后使用
selectKeyword("%eating%")
另一种选择(但区分大小写):-
@Query("select msg_temp from auto_reply where instr(keyword,:keyword)")
- 不考虑通配符,所以只考虑
selectKeyword("eating")
另一个应该可以工作,但是!!!!
@Query("SELECT * FROM user WHERE name LIKE :wildchar || :name || :wildchar")
fun selectKeyword("eating","%")