我的数据库中有一个时间字段,它的值为 22:05
我想减去5分钟。当字段为 datetime 时,我使用 sub_date 并且工作正常,但是我无法使用 time 字段获取它,我收到一个警告,我不知道如何处理;
mysql> SELECT scheduleFinalTime FROM clientSchedule WHERE clientScheduleID = 3;
+-------------------+
| scheduleFinalTime |
+-------------------+
| 22:05:00 |
+-------------------+
1 row in set (0.00 sec)
mysql> SELECT date_sub(scheduleFinalTime, INTERVAL 5 MINUTE) FROM clientSchedule WHERE clientScheduleID = 3;
+------------------------------------------------+
| date_sub(scheduleFinalTime, INTERVAL 5 MINUTE) |
+------------------------------------------------+
| NULL |
+------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
mysql> show warnings;
+---------+------+------------------------------------------------------------+
| Level | Code | Message |
+---------+------+------------------------------------------------------------+
| Warning | 1264 | Out of range value for column 'scheduleFinalTime' at row 1 |
+---------+------+------------------------------------------------------------+
1 row in set (0.00 sec)
先感谢您
最佳答案
Mysql 为此有一个 SUBTIME() 函数。
SUBTIME(expr1,expr2)
SUBTIME() returns expr1 − expr2 expressed as a value in the same format as expr1. expr1 is a time or datetime expression, and expr2 is a time expression.
mysql> SELECT SUBTIME('2007-12-31 23:59:59.999999','1 1:1:1.000002');
-> '2007-12-30 22:58:58.999997'
mysql> SELECT SUBTIME('01:00:00.999999', '02:00:00.999998');
-> '-00:59:59.999999'
关于mysql - 从时间值中减去分钟,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11447804/