Android sqlite的對某個字段的模糊查詢

轉載:https://blog.csdn.net/JiYiDeShuiJing/article/details/24978559

前言:今天想使用sqlite對於某個表裏面的某個字段包含某些字進行模糊查詢,總是查不出來。原來是sqlite和sql語句有差異。

細節區別於MySql數據庫裏的模糊查詢,Sqlite數據庫裏的模糊查詢在條件語句裏只寫:

" like ? "

還應該注意的是如果用字符串拼接sql語句like前面一定要記得留空格(因爲這個原因我把%都放到填充佔位符的實參裏面了還是不對,差點放棄)

在填充佔位符的實參中才寫:

" %模糊名字%"

sqlite模糊查詢要把"%"放到實參裏面寫。例如:

mSqlDatabase.query(tableName, null, " like ?", new String[] { "%" + new String("模糊名字".getBytes(), "utf-8") + "%" }, null, null, null);

mSqlDatabase.query(tableName, null, " like ?", new String[] { "%模糊名字%" }, null, null, null);

【注意】:因爲Android Sqlite數據庫中本身就是採用UTF-8編碼存儲,在取出時若出現亂碼,就通過new String("xxx".getBytes(),"utf-8/gb2312")

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章