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)
阅读更多:MySQL 教程