查询某个时间段(日期和时间分别用两个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语句该怎么写?
展开
 我来答
百度网友60ba0a5
2013-12-19 · TA获得超过231个赞
知道小有建树答主
回答量:544
采纳率:100%
帮助的人:213万
展开全部
可能你sql写错了吧注意看你的sql
and (time between '09:10:20' and '09:10:20')这个查不到
(time between '10:10:20' and '11:30:20') 这个能查到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yyfromcn
2013-12-18 · 超过26用户采纳过TA的回答
知道答主
回答量:60
采纳率:100%
帮助的人:42.5万
展开全部
如果你写成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')这真的不是一个好的设计
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hnhygkx1987
2013-12-18 · TA获得超过209个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:138万
展开全部
不知道楼主为为什么要这么设计数据库,日期和时间要分开设计,这明显是有问题的! 也不科学!
追问
我是从txt读取的内容存入数据库的,本来就是分开的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式