1

我有数据库,其中有两列 - 日期(包括时间)和分钟 - 如下:

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

如何计算第一个日期时间和最后一个日期时间之间的分钟数?


从 test_table中选择 COUNT(Minute) ,
其中 open_time 在 '2013-01-01 09:00:00.000' 和 '2013-01-01 09:05.000' 之间

对我不起作用。

我需要将分钟数计为当前时间 -未来的开放时间。

感谢您的任何反馈!

4

4 回答 4

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

于 2013-07-01T09:30:03.253 回答
1

SQL 看起来不错,虽然它返回 6。你想要那个还是想要 5?如果你想要的话,你总是可以从 09:01:00.000 开始你的 SELECT 标准。

SQLfiddle在这里:http ://sqlfiddle.com/#!2/d3f13/2

于 2013-07-01T09:24:55.847 回答
1

我没有得到你想要的。但是,如果想从您的日期中提取分钟,请使用以下查询。

SELECT EXTRACT(MINUTE FROM Open_Time) FROM test_table;

SELECT EXTRACT(MINUTE FROM Open_Time)-10 FROM test_table;

上面的查询只会给出分钟的差异。因此,请根据您的标准检查您的 DAY、HOUR、MINUTE、SECONDS

于 2013-07-01T09:31:12.407 回答
0

在 sql server 中,您可以使用 DATEDIFF 函数,它接受以下参数: DATEDIFF(datepart,startdate,end date) 并在所选日期部分的指定日期边界之间返回 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'

您还可以从“分钟”列中计算分钟数,但是很难用当前日期计算它们(除非每次计算时都在表中插入当前时间,或创建临时表)!

于 2013-07-01T09:55:55.263 回答