java 查询数据库的问题!!!20分送上

来源:百度知道 编辑:UC知道 时间:2024/05/29 12:35:50
在jsp页面输入时间段beginTime ,endTime.在数据库表中有时间字段posttime是Date类型.查询符合beginTime=<posttime<=endTime得记录。其中可以只输入beginTime查找beginTime=<posttime的记录;也可以只输入endTime字段,找posttime<=endTime的记录。
请问sql语句该怎么写啊?涉及时间的比较

1 . select * from Tab where posttime>=beginTime and posttime<=endTime
2. select * from Tab where posttime>=beginTime
3.select * from Tab where posttime<=endTime

posttime>='2007-01-01 0:0:0'(beginTime)
PS:MSSQLServer Date类型 无时间
数据库中时间字段是可以做比较的,不过格式和类型一定要统一!!!!!
你也可以吧时间通过数据库的方法转换成个别字段来匹配
year(mytime) month(mytime) day(mytime)等
以上方法是MSSQLServer的.

用to_date()先转换,再比较

可以这样写
select * from 表名 where posttime>='"+beginTime+"' AND posttime<='"+endTime+"'"

你在接受前台数据的jsp页面中可以如下书写
<%
String beginTime=request.getParameter("beginTime");
String endTime=request.getParameter("beginTime");
String sql="";
if(beginTime!="" && endTime!="")
{
sql="select * from book1 where posttime>='"+beginTime+"' and postTime<='+endTime+"'";