SQL,转换时间戳减法的整数

时间:2017-06-01 14:26:12

标签: mysql sql sql-timestamp

假设我们有一个关系R(A,B),有 A包含int值,B包含Timestamps。

我们必须计算:(time in B in minutes) - (int to minutes)

实施例: (125, "2017-06-01 16:23:00")

16:23:00 = 983 min
125 = 125min

983 - 125 = 858min

A的元素代表分钟,我的问题是转换整数 值>59hh:mm,因为MAKETIME(hh, mm, ss)仅适用于0到59的范围。

1 个答案:

答案 0 :(得分:2)

根本没有必要在几分钟内转换时间戳列的时间。

只做

SELECT B - INTERVAL A MINUTE;

如果你真的只想从do

中减去时间
SELECT TIME(B) - INTERVAL A MINUTE;

让日期部分不受影响:

SELECT CONCAT(DATE(B), ' ', TIME(B) - INTERVAL A MINUTE);

之后绝对需要分钟时间

SELECT HOUR(TIME(B) - INTERVAL A MINUTE) * 60 + MINUTE(TIME(B) - INTERVAL A MINUTE);