欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

查询字符串中包含字符串

程序员文章站 2022-07-13 16:11:34
...

在jdbc的MySQL中可以不用写比较符,比如:

    select * from t_user t where find_in_set('1',t.username) ;

    当然也可以这样用:

    select * from t_user t where find_in_set('1',t.username)>0

    而在hibernate的HQL语句中,必须这样用:

    from User t where find_in_set('1',t.username)>0

userName的值包含多个"11,125,52";
tringBuffer sql=new StringBuffer();
sql.append("from User t where t.companyId=0 ");
String[] username={"11,12,55,4"};
 sql.append(" and ( ");
 for(int i=0;i<username.length;i++){
 if(i==0){
 sql.append(" find_in_set('"+username[i]+"',t.username)>0");
 }else{
 sql.append(" or find_in_set('"+username[i]+"',t.username)>0");
 }
 }
 sql.append(" ) ");
    即‘>0’必须带上,否则会报错。 

 

相关标签: find_in_set