您的位置:首页 > 数据库

模糊查询匹配特殊字符

2015-01-24 15:37 323 查看
select  g.id , g.name , g.address , g.phone , g.city , g.district , g.area , g.photo_url , g.open_time , g.close_time , g.description , g.state , g.longitude , g.latitude  from gym g where (1=1) and g.state >= 3 and g.name like '%4%1%8%' escape '\\' order
by  g.name asc  limit 0,10

名字模糊查询 link ? escape ?

DAO中拼接

      StringBuilder selectFragment = new StringBuilder(128).append("select").append(verbosity.getColumnSelectFragment());

      StringBuilder fromClause = new StringBuilder(128).append("from").append(TABLE.nameAndAlias).append("where (1=1) ");

      if (city >= 0)

      {

        fromClause.append("and").append(COLUMN.CITY.aliasAndName).append("= ? ");

        params.add(city);

      }

      if (sportType >= 0)

      {

        fromClause.append("and").append(COLUMN.SPORT_TYPES.aliasAndName).append("= ? ");

        params.add(sportType);

      }

      if (state >= 0)

      {

        // 查询活跃的场地

        fromClause.append("and").append(COLUMN.STATE.aliasAndName).append(">= ? ");

        params.add(state);

      }

      if (name != null && name.trim().length() != 0)

      {

        name = name.toLowerCase(Platform.SYSTEM_LOCALE);

        fromClause.append("and").append(COLUMN.NAME.aliasAndName).append("like ? escape ?");

        params.add("%" + DB_ADAPTER.escapeAllWildcardsForLikeStatement(name) + "%");

        params.add(DB_ADAPTER.getLikeEscapeSequence());

      }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 模糊查询