mysql的时间段查询

表的结构
CREATE TABLE `xiaoshoudan` (
  `xiaoshoudanhao` varchar(255) NOT NULL,
  `date` date default NULL,
  `kehu_ID` int(11) default NULL,
  `user_ID` int(11) default NULL,
  `num` int(11) NOT NULL default '1',
  `totalPrice` float default NULL,
  PRIMARY KEY (`xiaoshoudanhao`),
  KEY `FK77BCFE97148826CC` (`kehu_ID`),
  KEY `FK77BCFE973D43702C` (`user_ID`),
  CONSTRAINT `FK77BCFE97148826CC` FOREIGN KEY (`kehu_ID`) REFERENCES `kehu` (`ID`),
  CONSTRAINT `FK77BCFE973D43702C` FOREIGN KEY (`user_ID`) REFERENCES `user` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;


从数据库查询一个时间段的记录代码
//按时间段查询

public ResultSet getByShiJianDuan(String dateFirst,String dateLast){

conn=new GetConn().getConn();
String sql="select xiaoshoudan.*, xiaoshoudan_shangping.* from xiaoshoudan,xiaoshoudan_shangping where " +
"XiaoShouDan_xiaoshoudanhao=xiaoshoudanhao and date between SELECT DATE_SUB('"+dateFirst+"', INTERVAL 1 DAY) and SELECT DATE_SUB('"+dateLast+"', INTERVAL 1 DAY) ";
try {
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}

dateFirst dateLast 是一个日期型的字符串,比如“2008-02-13”这种形式的,要怎么改上面的sql语句才能得到正确的结果
希望知道的人帮我解决一下

作者: huangxiaoqin0818   发布时间: 2011-06-01

SQL code
select xiaoshoudan.*, xiaoshoudan_shangping.* from xiaoshoudan,xiaoshoudan_shangping where XiaoShouDan_xiaoshoudanhao=xiaoshoudanhao and date between DATE_SUB('"+dateFirst+"', INTERVAL 1 DAY) and DATE_SUB('"+dateLast+"', INTERVAL 1 DAY)

作者: lxq19851204   发布时间: 2011-06-01