假如A表有字段demo1数据为"abCDeFg";
当查询参数 demo1 = "abCD";
比如 HQL: from A where cloumn1 like '%+demo1+%';//这样就能查到 但是,当demo1 = "ABc"时候,也要能够查询得到数据。请问这该怎么办啊?也就是不区分大小写,都要能够查得到
当查询参数 demo1 = "abCD";
比如 HQL: from A where cloumn1 like '%+demo1+%';//这样就能查到 但是,当demo1 = "ABc"时候,也要能够查询得到数据。请问这该怎么办啊?也就是不区分大小写,都要能够查得到
你这样写是不规范,也是不安全的,应该通过参数的形式给赋予条件我认为应该:
from A where cloumn1 like ?
或者 from A where cloumn1 like :varQuery setParameter(int position, Object val, Type type) 你再试下
解决办法:
1. 同时转换成大写或小写:from A where upper/lower(cloumn1) like %'+ABC/abc+'%';
2.使用正则表达式.
oracle数据库?用upper或者lower转化
是数据库的格式使用upper或lower函数转化就可以了