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

MySQLで2つの日付の間でクエリを実行するにはどうすればよいですか?


BETWEENステートメントを使用して、日付間でクエリを実行できます。構文は次のとおりです-

select *from yourTableName where yourColumnName between ‘yourStartingDate’ and curdate().

curdate()またはnow()を使用すると、これらの関数は両方とも機能します。上記の構文を理解するために、テーブルを作成しましょう-

mysql> create table BetweenDateDemo
   −> (
   −> StartDate datetime
   −> );
Query OK, 0 rows affected (0.78 sec)

次のクエリを使用して、テーブルにいくつかのレコードを挿入します-

mysql> insert into BetweenDateDemo values(date_add(now(),interval -1 year));
Query OK, 1 row affected (0.11 sec)

mysql> insert into BetweenDateDemo values(date_add(now(),interval -2 year));
Query OK, 1 row affected (0.13 sec)

mysql> insert into BetweenDateDemo values(date_add(now(),interval -3 year));
Query OK, 1 row affected (0.13 sec)

mysql> insert into BetweenDateDemo values(date_add(now(),interval 1 year));
Query OK, 1 row affected (0.12 sec)

mysql> insert into BetweenDateDemo values(date_add(now(),interval 2 year));
Query OK, 1 row affected (0.12 sec)

mysql> insert into BetweenDateDemo values(date_add(now(),interval 3 year));
Query OK, 1 row affected (0.16 sec)

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

mysql> select *from BetweenDateDemo;

以下は出力です-

+---------------------+
| StartDate           |
+---------------------+
| 2017-12-08 11:45:47 |
| 2016-12-08 11:45:56 |
| 2015-12-08 11:46:01 |
| 2019-12-08 11:46:05 |
| 2020-12-08 11:46:11 |
| 2021-12-08 11:46:15 |
+---------------------+
6 rows in set (0.00 sec)

次に、上記の構文を使用して日付間の選択を実行します-

mysql> select *from BetweenDateDemo where StartDate between '2014-8-12' and curdate();

以下は出力です-

+---------------------+
| StartDate           |
+---------------------+
| 2017-12-08 11:45:47 |
| 2016-12-08 11:45:56 |
| 2015-12-08 11:46:01 |
+---------------------+
3 rows in set (0.00 sec)

ORDER BYを使用して、ソートされた順序を取得します。クエリは次のとおりです-

mysql> select *from BetweenDateDemo where StartDate between '2014-8-12' and curdate() order by StartDate;

以下は出力です-

+---------------------+
| StartDate           |
+---------------------+
| 2015-12-08 11:46:01 |
| 2016-12-08 11:45:56 |
| 2017-12-08 11:45:47 |
+---------------------+
3 rows in set (0.00 sec)

  1. 2つの日付の範囲のすべてのデータを選択するMySQLクエリ?

    2つの日付の範囲内のすべてのデータを選択するには、MySQLBETWEEN-を使用します select * from yourTableName where yourColumnName between yourDateValue1 and yourDateValue2; まず、-を作成しましょう mysql> create table DemoTable1422    -> (    -> EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> E

  2. 2つの日付の間にMySQL検索を実行します

    2つの日付の間にMySQL検索を実行するには、BETWEENキーワードを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1456    -> (    -> CustomerName varchar(30),    -> StartOfferDate  date,    -> EndOfferDate date    -> ); Query OK, 0 rows affected (0.54 se