排班场景。假如从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 ”
首先我觉得数据库应该存完整的时间格式 (字段名为 AddTime) 你用到时间格式的时候可以采取截取
在1的基础上 select * from 表 where AddTime>'开始时间' and AddTime<dateadd(hour,你想间隔的时段数,'开始时间')
江户川乱折腾
TA贡献1851条经验 获得超5个赞
“开始时间”>= "结束时间",就是隔天的,你服务器语言now和加多1天就是了;
“开始时间”< "结束时间",就是同天的,你服务器语言now就是了;
纯mysql你这没日期的情况很难搞,因为你这里有条件逻辑。
动漫人物
TA贡献1815条经验 获得超10个赞
存一个时刻和一个时间长度
如:06:00到06:00则从今天早上6点到次日早上6点 存开始时刻06:00和时间长度24h(如果精确到分钟,可以以分钟为单位)
慕码人2483693
TA贡献1860条经验 获得超9个赞
这回存储成时间戳就好说了 首先查询的时候先格式化时间 把时间戳格式化成日期 比如你要搜索今天的6点到第二天6点的 你就可以查询了 这些就是mysql的一些关于时间的函数了 用一个between 搞定了
- 5 回答
- 0 关注
- 1427 浏览
添加回答
举报
0/150
提交
取消