如果是Oracle你可以使用to_char方法
select * from table where to_char('yyyyMMdd',date) = '20040810'如果你不想区分数据库
可以
prep = conn.prepareStatement("select * from table where date >= ? and date < ?");
long ONEDAY = 1000 * 3600 * 24;
long now = System.currentTimeMillis();
long thisdate = (now / ONEDAY) * ONEDAY;
long nextdate = thisdate + ONEDAY;
prep.setTimestamp(1,new Timestamp(thisdate));
prep.setTimestamp(2,new Timestamp(nextdate));

解决方案 »

  1.   

    直接使用sql语句:
    select * from table where date='2004-8-10'就可以了其中table是你自己的表名,date是你表当中日期字段的名称
      

  2.   

    不好意思,有点问题,应该是:
    select convert(varchar(10), date,120)  date from table where date='2004-8-10'这个是在sqlserver2000下测试没有问题的。
      

  3.   

    thanks all! My database is Mysql,  ChDw(米)'s method is very good ! And with your help, i solve the problem. Thanks you and  Frank1982(study) !