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

MySQLのWHEREで日付を減算して行を選択しますか?


これには、TIMESTAMPDIFF()を使用します。テーブルを作成しましょう-

mysql> create table demo42
−> (
−> start_date datetime
−> );
Query OK, 0 rows affected (0.77 sec)

挿入コマンド-

を使用して、いくつかのレコードをテーブルに挿入します。
mysql> insert into demo42 values('2020-01-10 12:30:05');
Query OK, 1 row affected (0.11 sec)

mysql> insert into demo42 values('2019-02-24 10:40:45');
Query OK, 1 row affected (0.11 sec)

mysql> insert into demo42 values('2020-05-12 05:45:55');
Query OK, 1 row affected (0.17 sec)

mysql> insert into demo42 values('2020-05-12 05:40:55');
Query OK, 1 row affected (0.15 sec)

mysql> insert into demo42 values('2020-05-12 05:42:55');
Query OK, 1 row affected (0.11 sec)

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

mysql> select *from demo42;

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

+---------------------+
| start_date          |
+---------------------+
| 2020-01-10 12:30:05 |
| 2019-02-24 10:40:45 |
| 2020-05-12 05:45:55 |
| 2020-05-12 05:40:55 |
| 2020-05-12 05:42:55 |
+---------------------+
5 rows in set (0.00 sec)

以下は、TIMESTAMPDIFF-

を使用して行を選択するためのクエリです。
mysql> select *from demo42
−> where ABS(TIMESTAMPDIFF(MINUTE,start_date, '2020−05−12 05:40:55')) < 5;

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

+---------------------+
| start_date          |
+---------------------+
| 2020−05−12 05:40:55 |
| 2020−05−12 05:42:55 |
+---------------------+
2 rows in set (0.00 sec)

  1. MySQLでWHEREINnullを選択しますか?

    以下は構文です- select yourColumnName1, yourColumnName2, yourColumnName3, . . . N from yourTableName where yourValue in(yourColumnName1,yourColumnName2) or yourColumnName1 is NULL; テーブルを作成しましょう- mysql> create table demo60 −> ( −> id int not null auto_increment primary key, −>

  2. MySQLリスト文字列の値を選択しますか?

    これには、FIND_IN_SET()を使用します。 テーブルを作成しましょう- 例 mysql> create table demo81    -> (    -> id int not null auto_increment primary key,    -> username varchar(200)    -> ); Query OK, 0 rows affected (1.44 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysql>