StringBuffer sql;
sql=new StringBuffer("SELECT * FROM INHPDJ");
String jylx="";
String hpcd="aaa";
String pscd="";
String inhpDate="bb"; sql.append(" WHERE ");
if(jylx.length()!=0) sql.append(" HPTYPE='"+jylx+"' AND ");//就医类型
if(hpcd.length()!=0) sql.append(" HPID='"+hpcd+"' AND ");//医院编号
if(pscd.length()!=0) sql.append(" PSCD='"+pscd+"' AND ");//个人参保号
if(inhpDate.length()!=0) sql.append(" INHPDATE LIKE '"+inhpDate+"%' AND ");
String finalSQL=sql.toString();
System.out.println(finalSQL);
System.out.println("最后AND位置 "+finalSQL.lastIndexOf(" AND "));
//因为AND拼在每一句最后面,所以有条件成立就肯定有AND 因此要去掉最有一个AND 否则没有AND的情况肯定是 没有任何条件成立 where也可以不要了
finalSQL=finalSQL.substring(0,finalSQL.lastIndexOf(" AND ")>0? finalSQL.lastIndexOf(" AND "):finalSQL.indexOf("WHERE"));
System.out.println(finalSQL);