sql数据库查询语句 当时间跨越0点怎么表示

比如time1:15:00:00time2:14:00:00要查询今天15:00:00到明天14:00:00的数据怎么表示我自己写的select*fromDB表where... 比如 time1:15:00:00 time2:14:00:00 要查询今天15:00:00到明天14:00:00的数据怎么表示
我自己写的 select * from DB表 where time between time1>=15:00:00 and tiem<23:59:59 or time>=00:00:00 and time<14:00:00 当我修改time1和time2的值时,怎么有时候查询出来的数据是对的,有时候却不正确?
time 的数据类型是time,还有一个日期,参照几位大哥
select * from datatable where date>=2014-05-01 and date<=2014-05-31 and (time>=15:00:00 and ime<=23:59:59 )or(time>=00:00:00 and time <=14:00:00),
他会把所有15:00:00-次日14:00:00的数据查找出来,比如2014.4月这个时间段的数据也会有,但时间段正确的,日期不正确。
但同样的句子如果time 没有跨越,比如00:00:00-23:59:59,查询出来是正确的
展开
 我来答
cncarng
推荐于2021-01-19 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:101
采纳率:0%
帮助的人:93.7万
展开全部
例如要查询2014-04-01到2014-04-30日之间的15:00:00到明天14:00:00的数据:
Set @Date1='2014-04-01'
Set @Date2='2014-04-30'
Select * From TableName
Where 日期字段 Between Convert(char(10),@Date1,121)+' 15:00:00'
And Convert(char(10),Dateadd(d,1,@Date2),121)+' 14:00:00')
And Convert(char(8),日期字段,108)>=' 15:00:00'
And Convert(char(8),日期字段,108)<' 14:00:00'
HaiziCattle
2014-05-29 · TA获得超过125个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:192万
展开全部
第一 你的 time 是否仅是time 如果是 则是
time >= 15:00:00 or time <= 14:00:00
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gougouruhua
2014-05-29 · 超过19用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:43.2万
展开全部
为什么不把天加上?time1和time2在sql中怎么用的?
追问
间歇性的时间,比如2014.5.1-2014.5.31    每天规定时间段的数据,这个时间段可能会调整
追答
错误的时间的例子能举个么?注意or和and的优先级   select * from datatable where date>=2014-05-01 and date=15:00:00 and ime=00:00:00 and time <=14:00:00))加个括号试试吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuanqiangwang
2014-05-29 · 超过11用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:26.9万
展开全部
你这数据库设计的时候就没考虑到日期吗?
你那样查明显不对的么 between datetime1 and datetime2 就可以了如果有日期的话
追问
有日期的,是工厂早、中、晚班,晚班的数据查询,就是查询一段时间内晚班的数据
追答
select * from datatable where time>=15:00  or time <=14:00:00
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式