为了账号安全,请及时绑定邮箱和手机立即绑定

怎么获取再某一时间段(不含日期)内的数据,跨1天。

怎么获取再某一时间段(不含日期)内的数据,跨1天。

泛舟湖上清波郎朗 2018-07-13 09:06:34
排班场景。假如从23:00到6:00 即为每天晚上11点到次日早上6点06:00到06:00则从今天早上6点到次日早上6点06:00到18:00则从今天早上6点到今天下午6点 sql 该咋整 数据库存的就是 HH:mm
查看完整描述

5 回答

?
ConyZhang

TA贡献9条经验 获得超8个赞

“sql 该咋整 数据库存的就是 HH:mm ” 

  1. 首先我觉得数据库应该存完整的时间格式 (字段名为 AddTime) 你用到时间格式的时候可以采取截取

  2. 在1的基础上  select * from 表 where AddTime>'开始时间' and AddTime<dateadd(hour,你想间隔的时段数,'开始时间')  

查看完整回答
1 反对 回复 2018-07-13
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

数据库应该存储完整的时间或者时间戳

查看完整回答
1 反对 回复 2018-07-13
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

“开始时间”>= "结束时间",就是隔天的,你服务器语言now和加多1天就是了;

“开始时间”< "结束时间",就是同天的,你服务器语言now就是了;

纯mysql你这没日期的情况很难搞,因为你这里有条件逻辑。


查看完整回答
1 反对 回复 2018-07-13
?
动漫人物

TA贡献1815条经验 获得超10个赞

存一个时刻和一个时间长度

如:06:00到06:00则从今天早上6点到次日早上6点    存开始时刻06:00和时间长度24h(如果精确到分钟,可以以分钟为单位)


查看完整回答
1 反对 回复 2018-07-13
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

这回存储成时间戳就好说了 首先查询的时候先格式化时间 把时间戳格式化成日期 比如你要搜索今天的6点到第二天6点的 你就可以查询了 这些就是mysql的一些关于时间的函数了 用一个between 搞定了

查看完整回答
1 反对 回复 2018-07-13
  • 5 回答
  • 0 关注
  • 1369 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信