MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL-日付の年を2020年から2011年に変更しますか?


2020年と2011年の間には9年の差があるため、9年の間隔でSUBDATE()を使用して、2020年から2011年までの日付の年を変更できます。

構文は次のとおりです。

UPDATE yourTableName
SET yourDateColumnName=SUBDATE(yourDateColumnName,INTERVAL 9 YEAR);

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。

mysql> create table ChangeYearFrom2020To2011
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> ExpiryDate date,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.67 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。レコードを挿入するためのクエリは次のとおりです。

mysql> insert into ChangeYearFrom2020To2011(ExpiryDate) values('2020-09-12');
Query OK, 1 row affected (0.19 sec)
mysql> insert into ChangeYearFrom2020To2011(ExpiryDate) values('2020-12-21');
Query OK, 1 row affected (0.17 sec)
mysql> insert into ChangeYearFrom2020To2011(ExpiryDate) values('2020-01-29');
Query OK, 1 row affected (0.12 sec)
mysql> insert into ChangeYearFrom2020To2011(ExpiryDate) values('2020-06-30');
Query OK, 1 row affected (0.19 sec)
mysql> insert into ChangeYearFrom2020To2011(ExpiryDate) values('2020-12-31');
Query OK, 1 row affected (0.13 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです。

mysql> select *from ChangeYearFrom2020To2011;

出力は次のとおりです。

+----+------------+
| Id | ExpiryDate |
+----+------------+
|  1 | 2020-09-12 |
|  2 | 2020-12-21 |
|  3 | 2020-01-29 |
|  4 | 2020-06-30 |
|  5 | 2020-12-31 |
+----+------------+
5 rows in set (0.00 sec)

2020年から2011年までの年のみを変更するクエリは次のとおりです。

mysql> update ChangeYearFrom2020To2011
   -> set ExpiryDate=subdate(ExpiryDate,interval 9 year);
Query OK, 5 rows affected (0.20 sec)
Rows matched: 5 Changed: 5 Warnings: 0

ここで、テーブルのすべてのレコードをもう一度確認します。クエリは次のとおりです。

mysql> select *from ChangeYearFrom2020To2011;

出力は次のとおりです。

+----+------------+
| Id | ExpiryDate |
+----+------------+
|  1 | 2011-09-12 |
|  2 | 2011-12-21 |
|  3 | 2011-01-29 |
|  4 | 2011-06-30 |
|  5 | 2011-12-31 |
+----+------------+
5 rows in set (0.00 sec)

  1. 日付のリストから現在の日付を取得するためのMySQLクエリ

    現在の日付が-だとしましょう 2019-07-22 まずテーブルを作成しましょう- mysql> create table DemoTable705 (ShippingDate datetime); Query OK, 0 rows affected (0.67 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable705 values('2019-01-21 23:59:00'); Query OK, 1 row affected (0.17 sec) mysql> inse

  2. 00:00から今日の日付までの日付を選択するMySQLクエリ

    現在の日付が2019-09-148:50:10だとします。ここで、00:00から2019-09-148:50:10までのレコードが必要です。例を見て、テーブルを作成しましょう- mysql> create table DemoTable (    DueDate datetime ); Query OK, 0 rows affected (0.66 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('2019-09-14'); Query OK,