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

MySQLのwhere句で期日と現在の日付のレコードを確認するための条件


このような状態を確認するには、MySQLでIF()を使用します。

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

mysql> create table demo89
   -> (
   -> duedate date
   -> );
Query OK, 0 rows affected (0.78

挿入コマンド-

を使用して、いくつかのレコードをテーブルに挿入します。

mysql> insert into demo89 values('2020-01-10');
Query OK, 1 row affected (0.55

mysql> insert into demo89 values(null);
Query OK, 1 row affected (0.13

mysql> insert into demo89 values('2020-11-29');
Query OK, 1 row affected (0.15

mysql> insert into demo89 values('2019-11-29');
Query OK, 1 row affected (0.09

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

mysql> select *from demo89;

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

出力

+------------+

| duedate    |

+------------+

| 2020-01-10 |

| NULL       |

| 2020-11-29 |

| 2019-11-29 |

+------------+

4 rows in set (0.00 sec)

以下は、期日と現在の日付のレコードを確認するためのクエリです-

mysql> select if (duedate is null
   -> or duedate < curdate(),'Wrong Date',duedate) as Result
   -> from demo89;

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

出力

+------------+

| Result     |

+------------+

| Wrong Date |

| Wrong Date |

| 2020-11-29 |

| Wrong Date |

+------------+

4 rows in set (0.00 sec)


  1. MySQLで条件が満たされた場合に列を選択して、現在の日付と現在の日付+1からレコードをフェッチします

    まず、現在の日付を取得しましょう- mysql> select curdate(); これにより、次の出力が生成されます- +------------+ | curdate()  | +------------+ | 2019-12-15 | +------------+ 1 row in set (0.00 sec) まずテーブルを作成しましょう- mysql> create table DemoTable1956    (    ProductId int,    ProductName varchar(

  2. MySQLのSELECTフィールドごとにWHERE句の代替を設定します

    CASEステートメントを使用できます- mysql> create table DemoTable1988    (    Value1 int,    Value2 int,    Price int    ); Query OK, 0 rows affected (0.64 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1988 values(10,7,500); Query OK, 1 r