我需要在MySQL上使用ADDTIME()函数,将时间间隔添加到time/datetime,然后返回time/datetime。
这是我的MySQL表
+-----+---------------------+----------+-----+
| m | mDate | mDatenew | sID |
+-----+---------------------+----------+-----+
| 182 | 2020-06-04 20:15:00 | NULL | 1 |
| 173 | 2020-06-13 21:35:13 | NULL | 2 |
| 74 | 2020-06-13 16:22:50 | NULL | 3 |
+-----+---------------------+----------+-----+
我需要更新列mdateNew
的值,使用列mdate
的值加上列m
的分钟值
首先,更新时,我尝试使用这个查询来获取检查值,但返回值为null
mysql> SELECT
DATE_FORMAT(
ADDTIME(mDate, m),
'%Y-%m-%d %H:%i:%s'
) AS t
FROM
`n`;
+------+
| t |
+------+
| NULL |
| NULL |
| NULL |
+------+
3 rows in set
如何解决这个问题?
下面得我得表
DROP TABLE IF EXISTS `n`;
CREATE TABLE `n` (
`m` int(11) DEFAULT NULL,
`mDate` datetime DEFAULT NULL,
`mDatenew` datetime DEFAULT NULL,
`sID` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`sID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of n
-- ----------------------------
INSERT INTO `n` VALUES ('182', '2020-06-04 20:15:00', null, '1');
INSERT INTO `n` VALUES ('173', '2020-06-13 21:35:13', null, '2');
INSERT INTO `n` VALUES ('74', '2020-06-13 16:22:50', null, '3');
我需要更新列mdateNew
的值,使用列mdate
的值加上列m
的分钟值。
MySQL理解带间隔的日期算术。 您可以按如下方式递增日期:
mDate + interval m minute
如果需要update
语句:
update n set mDatenew = mDate + interval m minute