假如A表有字段demo1数据为"abCDeFg";
当查询参数 demo1 = "abCD";
比如 HQL: from A where cloumn1 like '%+demo1+%';//这样就能查到但是,当demo1 = "ABc"时候,也要能够查询得到数据。请问这该怎么办啊?

解决方案 »

  1.   

    from A where lower(cloumn1) like lower(?);
      

  2.   

     demo1 = "abCD".toUpperCase();  //得到的demo1的大写
    HQL: from A where upper(cloumn1) like '%+demo1+%';
    你式下这样可以吗?
      

  3.   

    编写查询条件不区分大小写的SQL语句! 1、先将数据库中该字段全部转为大写,然后用Upper()函数将条件转为大写:
    select * from code_table_data t where Upper(t.DETAIL_DESC)=Upper('tr');
    2、 模糊查询:在Java中将条件转为大写,然后将该变量放入百分号(%)之间!
    select * from code_table_data t where Upper(t.DETAIL_DESC) like '%T%';
      

  4.   

    不同数据库不一样,我记得SQLSERVER就是这样的。
    可以像前面的人说的,都变成大写或者都变成小写皆可以实现
      

  5.   

    HQL语句不区分 大小写,sql语句区分大小写。你换一下 
      

  6.   


    HQL本身的关键字不区分大小写,但对象,内容是区分大小写的
      

  7.   

    用hibernate的动态查询就可以解决这个问题!
      

  8.   

    除了Java类与属性的名称外,
    查询语句对大小写并不敏感
    所以SeLeCT与sELECt以及select是相同的