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