Android Sqlite数据库转义字符模糊查询

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 '/'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值