? ? ? 近期在研究jqgrid,在里面涉及到了单字段查询。里面用到的查询方式有很多,比如等于、不等于、包含等等,都需要在后台实现。个人感觉这个后台的实现能够用到很多地方,所以在此保留,以供后用。请勿见笑。
?
public static String getOperation(String sField, String sOper,String sValue){ if(sOper==null || sOper.trim().length() ==0) return ""; String result = ""; if(sOper.trim().equals("eq")) //等于 result = sField + "='" + sValue +"' "; else if(sOper.trim().equals("ne")) //不等于 result = sField + " != '"+ sValue+"' "; else if(sOper.trim().equals("lt")) //小于 result = sField + " < '"+ sValue+"' "; else if(sOper.trim().equals("le")) //小于等于 result = sField + " <= '"+ sValue+"' "; else if(sOper.trim().equals("gt")) //大于 result = sField + " > '"+ sValue+"' "; else if(sOper.trim().equals("ge")) //大于等于 result = sField + " >= '"+ sValue+"' "; else if(sOper.trim().equals("bw")) //以...开始 result = sField + " LIKE '"+ sValue+"%' "; else if(sOper.trim().equals("bn")) //不以...开始 result = sField + " NOT LIKE '"+ sValue+"%' "; else if(sOper.trim().equals("cn")){ //包括 String[] sv = sValue.split(","); String svString = ""; for(int i = 0 ;i<sv.length; i ++){ svString += "%"+sv[i]+"%"; } result = sField + " LIKE '" +svString+"'"; } else if(sOper.trim().equals("nc")){//不包含 String[] sv = sValue.split(","); String svString = ""; for(int i = 0 ;i<sv.length; i ++){ svString += "%"+sv[i]+"%"; } result = sField + " NOT LIKE '" +svString + "'"; } else if(sOper.trim().equals("nu")) //is null result = sField + " IS NULL "; else if(sOper.trim().equals("nn")) //IS NOT NULL result = sField + " IS NOT NULL "; else if(sOper.trim().equals("ew")) // 以... 结束 result = sField + " LIKE '%"+ sValue+"' "; else if(sOper.trim().equals("en")) result = sField + " NOT LIKE '%" +sValue+"' "; return result; }