在 MySQL 中使用 ADDTIME() 函数
Posted
技术标签:
【中文标题】在 MySQL 中使用 ADDTIME() 函数【英文标题】:Usage the ADDTIME() function in MySQL 【发布时间】:2020-06-15 13:52:26 【问题描述】:我需要在 mysql 上使用 ADDTIME() 函数将时间间隔添加到时间/日期时间,然后返回时间/日期时间。
这是我的 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 |
+-----+---------------------+----------+-----+
我需要用列mDate
的值更新列mDatenew
的值,并添加列m
的分钟值
首先更新我已经尝试过这个查询检查值,但返回为空
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');
【问题讨论】:
【参考方案1】:我需要用列
mDate
的值更新列mDatenew
的值,并添加列m
的分钟值。
MySQL 理解带有间隔的日期算术。您可以按如下方式递增日期:
mDate + interval m minute
如果你想要update
声明:
update n set mDatenew = mDate + interval m minute
【讨论】:
以上是关于在 MySQL 中使用 ADDTIME() 函数的主要内容,如果未能解决你的问题,请参考以下文章