SELECT * FROM table WHERE  date> d2 and date<d1

解决方案 »

  1.   

    不同数据库,对date的prepare是不同的oracle :protected String formatODBCDateTime(java.sql.Date aDate) {
        try {
          return "to_date('" + OvalSQL.toDateString(aDate) + "','yyyy-mm-dd hh24:mi:ss')";
        }
        catch (IllegalArgumentException iaE) {
          return "NULL";
        }
      }prepareStatement(formatODBCDateTime(java.Sql.date date))给分
      

  2.   

    select * from table where date between ? and ?
      

  3.   

    to Everyone: 我上面说的是在java中呀,我还没有一一式过,大家继续发言,马上就要给分了!!!你们上面的方法在java中到底那些行呀??
    to:yinshuai(帅帅):在java中,>  和< 能比较时间吗,好像不行哟!!
      

  4.   

    luoql(让我说爱你不容易)当然可以,在 SQL SERVER 中, 可以直接使用。在ORACLE 中用TO_DATE 转换格式。
      

  5.   

    还是先转成一定格式的string再作比较,这样才比较合适。
    因为我在用sybase数据库时遇到格式不一样的时候不对。
      

  6.   

    你所说的时间是DATE还是TIMESTAMP?
    如果是DATE:
    private static final String SEL_SQL = "SELECT * FROM table WHERE  ? > d2 and ? < d1 ";
    private Connection Ex1Con = DriverManager.getConnection(URL, USRER, PASSWORD);
    PreparedStatement Ex1Stmt Ex1Con.prepareStatement(SEL_SQL);
    Ex1Stmt.setDate(XXXXXXXXX);
    ResultSet Ex1rs = Ex1Stmt.executeQuery(SEL_SQL);如果是TIMESTAMP:
    Ex1Stmt.setTime(XXXXXXXXX);
      

  7.   

    错了应该是:
    Ex1Stmt.setDate(0, XXXXXXXXX);
    Ex1Stmt.setDate(1, XXXXXXXXX);