Sqlite 中大小写不敏感查询/删除某条记录

背景

项目中有时会需要忽略值的大小写来进行 sql 查询,数据库中存储的某个字段的值(字符串) 是大小写不固定的,所以单纯的把参数强转为大写或小写,也无法匹配成功,还好 sql 支持 upper 和 lower 函数。

函数说明

upper(‘aaa’) 函数
说明
将字符串 ‘aaa’ 转成大写,返回一个新的字符串。如果在 sql 语句构造时,为 upper 函数传入的是某个字段的名称,那么该函数会返回字段值的大写字符串。

lower(‘BBB’) 函数
说明
将字符串 ‘BBB’ 转成小写,返回一个新的字符串。如果在 sql 语句构造时,为 lower 函数传入的是某个字段的名称,那么该函数会返回字段值的小写字符串。

用例

  1. 以查询系统媒体库的 files 表为例,从 files 表中,查询 _data 字段的值为 ‘/storage/emulated/0/Music’ 的记录,忽略大小写。

sql 语句如下,

select * from files where upper(_data) = upper('/storage/emulated/0/Music');

查询结果如下,
在这里插入图片描述
注࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ToSimpleL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值