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语句才能得到正确的结果
希望知道的人帮我解决一下
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