3

假设我们有一个关系 R(A, B),其中 A 包含 int 值,B 包含时间戳。

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

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

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

983 - 125 = 858 分钟

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

4

1 回答 1

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);
于 2017-06-01T15:05:18.140 回答