查询字符串中包含字符串
程序员文章站
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’必须带上,否则会报错。
上一篇: 比较两个数组中是否有相同的值
下一篇: FFmpeg Java截取图片