int begin = value.getBegin() - 1;
  sql.append("select * from eiilogs where 1=1 ");
  if(value.getBdate() != null && !value.getBdate().equals(""))
  sql.append(" and DATE_FORMAT(logdate,'%Y-%m-%d') >= '"+value.getBdate()+"' ");
  if(value.getEdate() != null && !value.getEdate().equals(""))
  sql.append(" and DATE_FORMAT(logdate,'%Y-%m-%d') <= '"+value.getEdate()+"' ");
  if(value.getEvent() != null && !value.getEvent().equals(""))
  sql.append(" and event like '%"+value.getEvent()+"%' ");
  if (value.getUserid() != null && !value.getUserid().equals("")){
  sql.append(" and userid = '"+value.getUserid()+"' ");
  }
之前用的是mysql 数据库的查询方法。 我现在用oracle 的数据库 。想改成 oracle 的数据 语句查询 不知道怎么改才正确。 而且还有判断 希望高手赐教

解决方案 »

  1.   

    int begin = value.getBegin() - 1;
      sql.append("select * from eiilogs where 1=1 ");
      if(value.getBdate() != null && !value.getBdate().equals(""))
      sql.append(" and to_date(logdate,'yyyy-mm-dd') >= '"+value.getBdate()+"' ");
      if(value.getEdate() != null && !value.getEdate().equals(""))
      sql.append(" and to_date(logdate,'yyyy-mm-dd') <= '"+value.getEdate()+"' ");
      if(value.getEvent() != null && !value.getEvent().equals(""))
      sql.append(" and event like '%"+value.getEvent()+"%' ");
      if (value.getUserid() != null && !value.getUserid().equals("")){
      sql.append(" and userid = '"+value.getUserid()+"' ");
      }
    试试看
     
      

  2.   

    嗯 可以 如果 在后面加上了范围 limit 这样 这样怎么改 !!!int begin = value.getBegin() - 1;
      sql.append("select * from eiilogs where 1=1 ");
      if(value.getBdate() != null && !value.getBdate().equals(""))
      sql.append(" and DATE_FORMAT(logdate,'%Y-%m-%d') >= '"+value.getBdate()+"' ");
      if(value.getEdate() != null && !value.getEdate().equals(""))
      sql.append(" and DATE_FORMAT(logdate,'%Y-%m-%d') <= '"+value.getEdate()+"' ");
      if(value.getEvent() != null && !value.getEvent().equals(""))
      sql.append(" and event like '%"+value.getEvent()+"%' ");
      if (value.getUserid() != null && !value.getUserid().equals("")){
      sql.append(" and userid = '"+value.getUserid()+"' ");
      }       例如         sql.append("order by get_time desc ");
            sql.append("limit "2","13" ");
      

  3.   

    limit 是范围限制的东东 我也不是很常用的啊 
      

  4.   


    这个是用作分页的  oracle里是用rownum   先查出rownum  然后再分页
    比如:select* from (select  *,rownum   from   table)  where romnum between 2  and  13 不用between  用> < 也可以  你试试看