查询某个时间段(日期和时间分别用两个DateTimePicker表示,是分开的)之间的记录的sql语句
数据库的设计是day字段表示日期,time字段表示时间,我用以下sql语句查询某个时间段之间的记录(da1:=DateTimePicker1.date,da2:=Date...
数据库的设计是day字段表示日期,time字段表示时间,我用以下sql语句查询某个时间段之间的记录(da1:=DateTimePicker1.date , da2:=DateTimePicker2.date , tm1:=DateTimePicker3.time ,tm2:=DateTimePicker4.time)我想查询da1的tm1到da2的tm2之间数据sql语句:(day between '''+da1+''' and '''+da2+''') and (time between '''+tm1+''' and '''+tm2+''')';
但如果da1和da2不是同一天的话查询结果就达不到我预期的要求
例如数据库中有一条记录 day time2006-06-12 11:20:30我用sql语句: select * from tab where (day between '2006-06-12' and '2006-06-12') and (time between '10:10:20' and '11:30:20');就能查询到上面那条记录,但如果sql语句改为:select * from tab where (day between '2006-06-12' and '2006-06-13') and (time between '09:10:20' and '09:10:20') 就不能查询到上面那条记录。请问这样的查询sql语句该怎么写? 展开
但如果da1和da2不是同一天的话查询结果就达不到我预期的要求
例如数据库中有一条记录 day time2006-06-12 11:20:30我用sql语句: select * from tab where (day between '2006-06-12' and '2006-06-12') and (time between '10:10:20' and '11:30:20');就能查询到上面那条记录,但如果sql语句改为:select * from tab where (day between '2006-06-12' and '2006-06-13') and (time between '09:10:20' and '09:10:20') 就不能查询到上面那条记录。请问这样的查询sql语句该怎么写? 展开
3个回答
展开全部
可能你sql写错了吧注意看你的sql
and (time between '09:10:20' and '09:10:20')这个查不到
(time between '10:10:20' and '11:30:20') 这个能查到
and (time between '09:10:20' and '09:10:20')这个查不到
(time between '10:10:20' and '11:30:20') 这个能查到
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你写成select * from tab where (day between '2006-06-12' and '2006-06-13') and (time between '10:10:20' and '11:30:20')这样有结果吗
更多追问追答
追问
不对,这样就没有6月12日11:30:20之后和6月13日10:10:20之前的数据
追答
那你可以这样写select * from tab where (day between '2006-06-12' and '2006-06-13') and (time between '00:00:00' and '11:59:59')这真的不是一个好的设计
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道楼主为为什么要这么设计数据库,日期和时间要分开设计,这明显是有问题的! 也不科学!
追问
我是从txt读取的内容存入数据库的,本来就是分开的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询