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

排班场景。假如从23:00到6:00 即为每天晚上11点到次日早上6点

06:00到06:00则从今天早上6点到次日早上6点

06:00到18:00则从今天早上6点到今天下午6点

 

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


泛舟湖上清波郎朗
浏览 1428回答 5
5回答

ConyZhang

“sql 该咋整 数据库存的就是 HH:mm ” 首先我觉得数据库应该存完整的时间格式 (字段名为 AddTime) 你用到时间格式的时候可以采取截取在1的基础上  select * from 表 where AddTime>'开始时间' and AddTime<dateadd(hour,你想间隔的时段数,'开始时间')  

喵喵时光机

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

江户川乱折腾

“开始时间”>= "结束时间",就是隔天的,你服务器语言now和加多1天就是了;“开始时间”< "结束时间",就是同天的,你服务器语言now就是了;纯mysql你这没日期的情况很难搞,因为你这里有条件逻辑。

动漫人物

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

慕码人2483693

这回存储成时间戳就好说了 首先查询的时候先格式化时间 把时间戳格式化成日期 比如你要搜索今天的6点到第二天6点的 你就可以查询了 这些就是mysql的一些关于时间的函数了 用一个between 搞定了
打开App,查看更多内容
随时随地看视频慕课网APP