更改 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+ 檢視

開啟您的 職業

透過完成課程獲得認證

開始
廣告