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 '/'

更多相关文章

  1. [Android] 导入外部数据库
  2. Android 使用adb shell 和android studio插件Database Navigator
  3. Android : 如何在WebView显示的页面中查找内容
  4. 查看Sqlite 数据库
  5. Android 多媒体数据库
  6. Android SQLiteOpenHelper Sqlite数据库的创建与打开
  7. Android Studio Error:前言中不允许有内容。
  8. 使用android快速开发框架afinal的FinalDb操作android sqlite数据

随机推荐

  1. json_decode无法在php中运行
  2. 来自多个文件的相同元素DomDocument load
  3. 获取最近7天的一周中的哪一天?
  4. CakePHP2 Request请求对象中文教程
  5. 关于一个单例模式的问题,这样写为什么返回
  6. 使用date_default_timezone_set和日期的
  7. PHP字节单位转换
  8. 怎么知道php代码运行时调用了那个类、那
  9. 如果我对名称中方括号的输入使用jQuery s
  10. IIS7+PHP上传图片成功但却不能访问401.3