背景
项目中有时会需要忽略值的大小写来进行 sql 查询,数据库中存储的某个字段的值(字符串) 是大小写不固定的,所以单纯的把参数强转为大写或小写,也无法匹配成功,还好 sql 支持 upper 和 lower 函数。
函数说明
upper(‘aaa’) 函数
说明
将字符串 ‘aaa’ 转成大写,返回一个新的字符串。如果在 sql 语句构造时,为 upper 函数传入的是某个字段的名称,那么该函数会返回字段值的大写字符串。
lower(‘BBB’) 函数
说明
将字符串 ‘BBB’ 转成小写,返回一个新的字符串。如果在 sql 语句构造时,为 lower 函数传入的是某个字段的名称,那么该函数会返回字段值的小写字符串。
用例
- 以查询系统媒体库的 files 表为例,从 files 表中,查询 _data 字段的值为 ‘/storage/emulated/0/Music’ 的记录,忽略大小写。
sql 语句如下,
select * from files where upper(_data) = upper('/storage/emulated/0/Music');
查询结果如下,
注