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,查询出来是正确的 展开
我自己写的 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,查询出来是正确的 展开
4个回答
展开全部
例如要查询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'
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'
展开全部
第一 你的 time 是否仅是time 如果是 则是
time >= 15:00:00 or time <= 14:00:00
time >= 15:00:00 or time <= 14:00:00
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么不把天加上?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))加个括号试试吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这数据库设计的时候就没考虑到日期吗?
你那样查明显不对的么 between datetime1 and datetime2 就可以了如果有日期的话
你那样查明显不对的么 between datetime1 and datetime2 就可以了如果有日期的话
追问
有日期的,是工厂早、中、晚班,晚班的数据查询,就是查询一段时间内晚班的数据
追答
select * from datatable where time>=15:00 or time <=14:00:00
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询