Android Sqlite数据库转义字符模糊查询
16lz
2021-01-23
Android数据库使用的是sqlite3,有时会有模糊查询的需求,比如包含“12345”的SQL查询语句为:
select * from Table where title like "%12345%"
模糊查询使用like关键字,%通配符表达0个或多个字符在当前位置,如果查询的内容刚好含有转义字符怎么办?一般是使用escape关键指定转义符,然后将查询内容的转义符做转义,但android里面有个地方需要特别注意一下:sqlite在保存有转义字符的数据到数据库时会自动做一次转,比如:
字符串
"111/222"
保存在数据库的结果是"111\/222"
,
"http://www.baidu.com"
会保存成"http:\/\/www.baidu.com"
转义符/会被保存成/,所在在查询的时候,不能简单想当然的把/转成//,应该转成/,示例:
select * from Table where title like "%111\\//222" escape '/'
更多相关文章
- [Android] 导入外部数据库
- Android 使用adb shell 和android studio插件Database Navigator
- Android : 如何在WebView显示的页面中查找内容
- 查看Sqlite 数据库
- Android 多媒体数据库
- Android SQLiteOpenHelper Sqlite数据库的创建与打开
- Android Studio Error:前言中不允许有内容。
- 使用android快速开发框架afinal的FinalDb操作android sqlite数据