mysql - 如何更新日期类型列?

标签 mysql sql database sql-update

我们希望更新此示例数据库中的日期,使其看起来更近。将每个季度代码增加 5 年,这样 19964 年就会看起来像 20014 年。通过显示表中的数据来验证您的结果。我正在使用 mySQL Oracle 命令行客户端,并且想知道如何将所有面试日期记录更新 5 年。

interview table
+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| interviewdate | date         | YES  |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+

interviewdate column
+---------------+
| interviewdate |
+---------------+
| 1995-06-01    |
| 1995-06-01    |
| 1995-06-30    |
| 1995-06-30    |
| 1995-07-01    |
| 1995-08-01    |
| 1995-08-01    |
| 1995-08-02    |
| 1995-12-01    |
| 1995-12-02    |
| 1995-12-04    |
| 1996-01-21    |
| 1996-02-01    |
| 1996-02-02    |
| 1996-07-01    |
| 1996-07-01    |
| 1996-08-01    |
| 1996-08-08    |
| 1996-08-11    |
| 1997-01-01    |
| 1997-01-01    |
| 1997-01-31    |
| 1997-02-01    |
| 1997-03-24    |
| 1997-03-31    |
| 1997-04-20    |
| 1997-04-22    |
| 1997-05-01    |
+---------------+
28 rows in set (0.00 sec)

我尝试过这样的事情:

UPDATE interview
SET qtrcode = DATEADD(year, 5, qtrcode);
ERROR 1305 (42000): FUNCTION jobs.DATEADD does not exist

最佳答案

这应该有效:

update interview
set interviewdate = date_add(interviewdate, interval 5 year);

http://sqlfiddle.com/#!2/55ab7/1

关于mysql - 如何更新日期类型列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17778473/

相关文章:

php - mysqli 是否在同一个请求中重用连接?

mysql - 计算特定日期之前发生的次数

mysql - 从顶部开始获取每第 100 条记录

database - 数据库中的数据集是否始终以一种形式或另一种形式标准化

mysql - MySQL 游标错误

mysql - 当 MySQL Workbench 中有联合键时,如何引用不同的行?

mysql - 使用 ORDER BY 子句如何提高和降低性能?

mysql - 如何让MySQL像SQLite一样处理字符串,涉及Unicode和排序规则?

mysql - 从多个表中的电话号码获取姓名?

java - 处理 hibernate 实体上的数据库 View 的优雅方法?