Room條件語句爲空時,查詢所有數據

前言 :領帶安排,將咱們一款量表app作一款離線版本。由於說醫院可能有些地方沒有外網,且不想提供量表測試數據。因此我就用room數據庫,本身作了本地數據庫。java

問題:當我遇到多條件篩選時,由於Room的查詢語句是提早寫在Dao裏的。如何寫呢?上乾貨

若是name有數據,就按name去查,若是name爲空數據,就查所有數據庫

@Query("SELECT * FROM PeopleBean WHERE :name='' or name= :name")
Single<List<PeopleBean>> getAllTest(String name);

複製代碼

若是是多參數的狀況呢,別急往下看。

這裏再增長一個sex字段。-1就查所有。markdown

@Query("SELECT * FROM PeopleBean WHERE (:name='' or name=:name) and (:sex =-1 or sex=:sex)")
Single<List<PeopleBean>> getAll(String name, int sex);
複製代碼

但願對朋友們有幫助。app

相關文章
相關標籤/搜索