更改 MySQL 日期中的年份?


若要更改 MySQL 日期中的年份,您需要将 `DATE_FORMAT()` 函数与 `UPDATE` 命令配合使用。语法如下所示。

UPDATE yourTableName
SET yourDateColumnName = DATE_FORMAT(yourDateColumnName ,'yourYearValue-%m-%d');

为了理解上述语法,我们创建一个表。创建表的查询如下所示 −

mysql> create table ChangeYear
   -> (
   -> id int not null auto_increment,
   -> ArrivalTime date,
   -> PRIMARY KEY(id)
   -> );
Query OK, 0 rows affected (0.83 sec)

使用 `insert` 命令在表中插入一些记录 −

mysql> insert into ChangeYear(ArrivalTime) values(date_add(now(),interval -2 year));
Query OK, 1 row affected, 1 warning (0.20 sec)

mysql> insert into ChangeYear(ArrivalTime) values('2012-10-24');
Query OK, 1 row affected (0.18 sec)

mysql> insert into ChangeYear(ArrivalTime) values('2016-3-21');
Query OK, 1 row affected (0.19 sec)

mysql> insert into ChangeYear(ArrivalTime) values('2015-4-24');
Query OK, 1 row affected (0.20 sec)

mysql> insert into ChangeYear(ArrivalTime) values(curdate());
Query OK, 1 row affected (0.20 sec)

使用 `select` 语句显示表中的所有记录。查询如下所示。

mysql> select *from ChangeYear;

以下是输出。

+----+-------------+
| id | ArrivalTime |
+----+-------------+
| 1 | 2017-01-07 |
| 2 | 2012-10-24 |
| 3 | 2016-03-21 |
| 4 | 2015-04-24 |
| 5 | 2019-01-07 |
+----+-------------+
5 rows in set (0.00 sec)

以下是对日期列中仅年份进行更新的查询。在我们的示例中,我们把年份更改为 2019 −

mysql> update ChangeYear
   -> set ArrivalTime = DATE_FORMAT(ArrivalTime,'2019-%m-%d');
Query OK, 4 rows affected (0.12 sec)
Rows matched − 5 Changed − 4 Warnings − 0

使用 `select` 语句检查表中所有更新的记录。查询如下所示 −

mysql> select *from ChangeYear;

以下输出显示更新的年份 2019,但其余日期保持不变 −

+----+-------------+
| id | ArrivalTime |
+----+-------------+
|  1 | 2019-01-07  |
|  2 | 2019-10-24  |
|  3 | 2019-03-21  |
|  4 | 2019-04-24  |
|  5 | 2019-01-07  |
+----+-------------+
5 rows in set (0.00 sec)

更新时间: 30-Jul-2019

4K+ 查看

开启您的 职业

通过完成课程获得认证

开始
广告