我有数据库,我有两列 - 日期(包括时间)和分钟 - 如下:
Open_Time分钟
2013-01-01 09:00:00.000 1
2013-01-01 09:01:00.000 1
2013-01-01 09:02:00.000 1
2013-01-01 09:03:00.000 1
2013-01-01 09:04:00.000 1
2013-01-01 09:05:00.000 1
如何计算第一个和最后一个日期时间之间的分钟数?
选择COUNT(分钟)
来自test_table
其中open_time在'2013-01-01 09:00:00.000'和'2013-01-01 09:05.000'之间
对我不起作用。
将来我需要将会议记录计为当前时间 - 开放时间。
感谢您的任何反馈!
答案 0 :(得分:3)
对于mysql可能可以使用:
SELECT TIMESTAMPDIFF(MINUTE,'2013-01-01 09:00:00.000','2013-01-01 09:05.000') ; // return result as minutes
请在此处阅读:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
答案 1 :(得分:1)
SQL看起来很好,虽然它返回6.你想要那个或者你想要5吗?如果你想要的话,你可以随时从09:01:00000开始你的SELECT标准。
SQLfiddle:http://sqlfiddle.com/#!2/d3f13/2
答案 2 :(得分:1)
我没有得到你想要的。但是如果想从你的约会中提取分钟,那么请使用以下查询。
SELECT EXTRACT(MINUTE FROM Open_Time) FROM test_table;
SELECT EXTRACT(MINUTE FROM Open_Time)-10 FROM test_table;
以上查询仅给出分钟差异。所以根据你的标准检查你的DAY,HOUR,MINUTE,SECONDS
答案 3 :(得分:0)
在sql server中你可以使用DATEDIFF函数,它接受以下参数: DATEDIFF(datepart,startdate,end date)并在所选datepart的指定日期边界之间返回count(int),因此您可以使用以下内容:
select DATEDIFF(mi,MIN(opentime),MAX(opentime)) AS 'minutes'
from test_table
where open_time between '2013-01-01 09:00:00.000' and '2013-01-01 09:05.000'
你也可以从列"分钟"云计算分钟数,但是用当前日期来计算它们是非常困难的(除非每次计算你在表中插入当前时间,或者创建临时表) )!