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

今日の日付が2つのDATE列の間にあるMySQL行を選択しますか?


今日の日付が2つの日付列の間にあるMySQL行を選択するには、AND演算子を使用する必要があります。構文は次のとおりです。

SELECT *FROM yourTableName WHERE yourDateColumnName1 <=’yourDateValue’ AND
yourDateColumnName2 >= ‘’yourDateValue’;

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

mysql> create table selectDates
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> StartingDate date,
   -> EndingDate date,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.80 sec)

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

mysql> insert into selectDates(StartingDate,EndingDate) values('2019-01-11','2019-01-23');
Query OK, 1 row affected (0.17 sec)
mysql> insert into selectDates(StartingDate,EndingDate) values('2019-01-10','2019-01-23');
Query OK, 1 row affected (0.17 sec)
mysql> insert into selectDates(StartingDate,EndingDate) values('2019-01-30','2019-01-30');
Query OK, 1 row affected (0.12 sec)
mysql> insert into selectDates(StartingDate,EndingDate) values('2019-10-14','2019-10-28');
Query OK, 1 row affected (0.17 sec)
mysql> insert into selectDates(StartingDate,EndingDate) values('2019-10-14','2019-10-20');
Query OK, 1 row affected (0.19 sec)
mysql> insert into selectDates(StartingDate,EndingDate) values('2019-11-17','2019-11-19');
Query OK, 1 row affected (0.52 sec)
mysql> insert into selectDates(StartingDate,EndingDate) values('2019-12-21','2019-12-31');
Query OK, 1 row affected (0.19 sec)
mysql> insert into selectDates(StartingDate,EndingDate) values('2019-01-06','2019-01-21');
Query OK, 1 row affected (0.16 sec)
mysql> insert into selectDates(StartingDate,EndingDate) values('2019-01-07','2019-01-17');
Query OK, 1 row affected (0.18 sec)

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

mysql> select *from selectDates;

出力は次のとおりです。

+----+--------------+------------+
| Id | StartingDate | EndingDate |
+----+--------------+------------+
|  1 | 2019-01-11   | 2019-01-23 |
|  2 | 2019-01-10   | 2019-01-23 |
|  3 | 2019-01-30   | 2019-01-30 |
|  4 | 2019-10-14   | 2019-10-28 |
|  5 | 2019-10-14   | 2019-10-20 |
|  6 | 2019-11-17   | 2019-11-19 |
|  7 | 2019-12-21   | 2019-12-31 |
|  8 | 2019-01-06   | 2019-01-21 |
|  9 | 2019-01-07   | 2019-01-17 |
+----+--------------+------------+
9 rows in set (0.00 sec)

2つの日付列から今日の日付を選択するためのクエリは次のとおりです。

select *from selectDates where StartingDate <='2019-01-10' AND EndingDate >='2019-01-10';

出力は次のとおりです。

+----+--------------+------------+
| Id | StartingDate | EndingDate |
+----+--------------+------------+
|  2 | 2019-01-10   | 2019-01-23 |
|  8 | 2019-01-06   | 2019-01-21 |
|  9 | 2019-01-07   | 2019-01-17 |
+----+--------------+------------+
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クエリ

    まずテーブルを作成しましょう- mysql> create table DemoTable1471    -> (    -> EmployeeJoiningDate date,    -> EmployeeRelievingDate date    -> ); Query OK, 0 rows affected (0.57 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1471 value