求时间重叠 如果时间范围是2012-1-1 2:0:0 至 2012-2-23 7:0:0 (datetime型),那么这期间与 8:0:0 至 11:30:0 (time型) 一共重叠了多少分钟\小时?求MYSQL语句 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 重叠什么意思,总和?贴建表及插入记录的SQL,及要求结果出来看看 比如: 8:0:0 到 11:30:0 (可用DECLARE tBegin ,tEnd TIME表示)表1 id begin end1 2012-2-22 7:0:0 2012-2-23 3:0:0 2 2012-2-22 9:0:0 2012-2-23 3:0:0 3 2012-2-22 9:0:0 2012-2-24 3:0:0 结果:4个半小时结果:3个半小时结果:27个半小时 我刚建了一个表1:U_ID U_Begin U_End 1000 08:00:00 15:00:00 1100 15:01:00 00:00:00如果给一个时间范围如:2012-1-1 9:0:0 至 2012-2-23 2:0:0 为参数,求这个时间段与表1 每行记录重叠多少分钟? 时间格式都是%Y-%m-%d %H:%i:%s 参考下贴http://topic.csdn.net/u/20101014/20/34b244e2-290e-44b4-8084-fe86acdc4e4b.html 散分,并如何判断时间段上有重叠冲突。 [推荐] [其他数据库开发 MySQL/Postgresql] 关于时间重叠,问题起至以下一个算法问题:有一个场地管理时间价格表:CREATE TABLE `T_ProjectJFSJ` ( `U_ID` int(11) NOT NULL, `U_Project` int(11) DEFAULT NULL, 场地 `U_Begin` time DEFAULT NULL, 开始 `U_End` time DEFAULT NULL, 结束 `U_JE` decimal(12,2) DEFAULT NULL, 小时金额 PRIMARY KEY (`U_ID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;说明:没有在开始与结束时间范围内的不算费用U_ID U_Project U_Begin U_End U_JE 1000 1000 08:00:00 15:00:00 20.00 1100 1000 15:01:00 00:00:00 25.00 3300 1200 08:00:00 15:00:00 20.00 3400 1200 15:00:00 00:00:00 25.00求场地1000在2012-2-20 7:30:0 到 2012-2-23 10:0:0 之间产生的费用求解 我的思路是把2012-2-20 7:30:0 到 2012-2-23 10:0:0分为:2012-2-20 7:30:0 到 2012-2-20 23:59:592012-2-21 0:0:0 到 2012-2-21 23:59:592012-2-22 0:0:0 到 2012-2-22 23:59:592012-2-23 0:0:0 到 2012-2-23 10:0:0将以上时间分别与U_ID U_Project U_Begin U_End U_JE 1000 1000 08:00:00 15:00:00 20.00 1100 1000 15:01:00 00:00:00 25.00中的时间重叠,算出重叠时间:2012-2-20 7:30:0 到 2012-2-20 23:59:59 08:00:00 15:00:00 重叠 为7:30:0 至 15:0:02012-2-21 0:0:0 到 2012-2-21 23:59:59 重叠 为08:00:00 15:00:00 以此类推...再按重叠的分钟,设 mm/60+ (m模60 不为0 值为1)=小时数*U_JE=每小段金额再将小段金额累加,得出结果,求实现与优化 select sum(CEILING(TIMESTAMPDIFF(MINUTE,GREATEST('2012-2-20 7:30:0',U_Begin),LEAST('2012-2-20 7:30:0',U_End))/60)*U_JE)from T_ProjectJFSJwhere U_Begin<'2012-2-23 10:0:0' and U_End>'2012-2-20 7:30:0'and U_ID=1000 到底是哪个数据,要求结果是什么贴建表及插入记录的SQL,及要求结果出来看看 cnzz这种网站的数据存贮方法是怎样的 PostgreSQL程序启动失败 一共90w条数据执行一个select * from table就用了5s钟 mysql 联接与子查询的效率哪一个高? MySQL操作列约束的问题,请教下。 这个触发器能执行成功 但是无法删除数据 Linux平台上我的Mysql启动不了了 mysql数据库中对BLOB字段的读操作?急需高手!!! 这是什么原因?大家看看 python爬虫运行无提示错误,但mysql 数据库没有数据 今天遇到了很奇怪的问题 mysql安装后出现的一个问题
贴建表及插入记录的SQL,及要求结果出来看看
id begin end
1 2012-2-22 7:0:0 2012-2-23 3:0:0
2 2012-2-22 9:0:0 2012-2-23 3:0:0
3 2012-2-22 9:0:0 2012-2-24 3:0:0 结果:4个半小时
结果:3个半小时
结果:27个半小时
U_ID U_Begin U_End
1000 08:00:00 15:00:00
1100 15:01:00 00:00:00如果给一个时间范围如:2012-1-1 9:0:0 至 2012-2-23 2:0:0 为参数,
求这个时间段与表1 每行记录重叠多少分钟?
散分,并如何判断时间段上有重叠冲突。 [推荐] [其他数据库开发 MySQL/Postgresql]
有一个场地管理时间价格表:
CREATE TABLE `T_ProjectJFSJ` (
`U_ID` int(11) NOT NULL,
`U_Project` int(11) DEFAULT NULL, 场地
`U_Begin` time DEFAULT NULL, 开始
`U_End` time DEFAULT NULL, 结束
`U_JE` decimal(12,2) DEFAULT NULL, 小时金额
PRIMARY KEY (`U_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;说明:没有在开始与结束时间范围内的不算费用U_ID U_Project U_Begin U_End U_JE
1000 1000 08:00:00 15:00:00 20.00
1100 1000 15:01:00 00:00:00 25.00
3300 1200 08:00:00 15:00:00 20.00
3400 1200 15:00:00 00:00:00 25.00求场地1000在2012-2-20 7:30:0 到 2012-2-23 10:0:0 之间产生的费用
求解
把2012-2-20 7:30:0 到 2012-2-23 10:0:0分为:
2012-2-20 7:30:0 到 2012-2-20 23:59:59
2012-2-21 0:0:0 到 2012-2-21 23:59:59
2012-2-22 0:0:0 到 2012-2-22 23:59:59
2012-2-23 0:0:0 到 2012-2-23 10:0:0将以上时间分别与
U_ID U_Project U_Begin U_End U_JE
1000 1000 08:00:00 15:00:00 20.00
1100 1000 15:01:00 00:00:00 25.00
中的时间重叠,算出重叠时间:
2012-2-20 7:30:0 到 2012-2-20 23:59:59 08:00:00 15:00:00 重叠 为7:30:0 至 15:0:0
2012-2-21 0:0:0 到 2012-2-21 23:59:59 重叠 为08:00:00 15:00:00
以此类推...
再按重叠的分钟,设 m
m/60+ (m模60 不为0 值为1)=小时数*U_JE=每小段金额
再将小段金额累加,得出结果,
求实现与优化
from T_ProjectJFSJ
where U_Begin<'2012-2-23 10:0:0' and U_End>'2012-2-20 7:30:0'
and U_ID=1000