【问题标题】: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","%")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-18
      • 1970-01-01
      • 2011-08-29
      • 1970-01-01
      相关资源
      最近更新 更多