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

MySQLで条件付きで日付の間/前/後を選択するにはどうすればよいですか?


以下は構文です-

select *from yourTableName
where
yourColumnName1 < yourValue1 AND
(yourColumnName2 > yourValue2 OR yourColumnName2 is null);

テーブルを作成しましょう-

mysql> create table demo35
−> (
−> id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
−> joining_date date,
−> relieving_date date
−> );
Query OK, 0 rows affected (3.88 sec)

挿入コマンド-

を使用して、いくつかのレコードをテーブルに挿入します。
mysql> insert into demo35(joining_date,relieving_date) values('2020−01−10','2020−07−11');
Query OK, 1 row affected (0.15 sec)
mysql> insert into demo35(joining_date,relieving_date) values('2020−05−07','2020−12−08');
Query OK, 1 row affected (0.17 sec)
mysql> insert into demo35(joining_date,relieving_date) values('2020−04−11','2020−09−18');
Query OK, 1 row affected (0.14 sec)
mysql> insert into demo35(joining_date,relieving_date) values('2020−03−12','2020−10−01');
Query OK, 1 row affected (0.13 sec)

selectステートメントを使用してテーブルのレコードを表示する-

mysql> select *from demo35;

これにより、次の出力が生成されます-

+----+--------------+----------------+
| id | joining_date | relieving_date |
+----+--------------+----------------+
|  1 | 2020−01−10   | 2020−07−11     |
|  2 | 2020−05−07   | 2020−12−08     |
|  3 | 2020−04−11   | 2020−09−18     |
|  4 | 2020−03−12   | 2020−10−01     |
+----+--------------+----------------+
4 rows in set (0.00 sec)

以下は、MySQLで条件付きで日付を選択するためのクエリです-

mysql> select *from demo35
−> where
−> joining_date < '2020−05−11' AND
−> (relieving_date > '2020−08−10' OR relieving_date is null);

これにより、次の出力が生成されます-

+----+--------------+----------------+
| id | joining_date | relieving_date |
+----+--------------+----------------+
|  2 | 2020−05−07   | 2020−12−08     |
|  3 | 2020−04−11   | 2020−09−18     |
|  4 | 2020−03−12   | 2020−10−01     |
+----+--------------+----------------+
3 rows in set (0.00 sec)

  1. MySQLで再帰的なSELECTクエリを実行するにはどうすればよいですか?

    再帰的選択については、例を見てみましょう。まず、テーブルを作成します。 CREATEコマンドを使用してテーブルを作成します。 ); Query OK, 0 rows affected (0.61 sec) 次に、テーブル「tblSelectDemo」にレコードを挿入します。 insert into tblSelectDemo values(5,Bob); Query OK, 1 row affected (0.18 sec) すべてのレコードを表示します。 SELECT *from tblSelectDemo; これが出力です。 +------+-------+ | id

  2. MySQLから最後の10行を選択するにはどうすればよいですか?

    MySQLから最後の10行を選択するには、SELECTステートメントとLimitの概念でサブクエリを使用できます。以下は例です。 テーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) テーブルにレコードを挿入します。 mysql> insert into Last10RecordsDemo values(1,John),(