MySQLで日付が過ぎたかどうかを確認する方法【CURDATE()の使い方】
MySQLでは、CURDATE()関数(現在の日付を返す関数)と比較演算子を組み合わせることで、特定の日付がすでに過ぎているかどうかを簡単に判定できます。この記事では、サンプルテーブルを作成し、実際に日付の経過を確認する手順を段階的に解説します。
1. サンプルテーブルを作成する
まず、DATE型のカラムを持つテーブルを作成します。
mysql> create table DemoTable1340 &;-> ( &;-> Deadline date &;-> ); Query OK, 0 rows affected (0.43 sec)
2. レコードを挿入する
INSERTコマンドを使って、複数の日付データを登録します。
mysql> insert into DemoTable1340 values('2019-09-18');
Query OK, 1 row affected (0.52 sec)
mysql> insert into DemoTable1340 values('2019-09-23');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1340 values('2018-12-24');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1340 values('2016-11-01');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1340 values('2019-09-28');
Query OK, 1 row affected (0.18 sec)
3. 登録したレコードを確認する
SELECT文ですべてのレコードを表示してみましょう。
mysql> select * from DemoTable1340;
実行結果は以下の通りです。
+------------+ | Deadline | +------------+ | 2019-09-18 | | 2019-09-23 | | 2018-12-24 | | 2016-11-01 | | 2019-09-28 | +------------+ 5 rows in set (0.00 sec)
4. 現在の日付を確認する
判定の基準となる現在の日付も把握しておきましょう。CURDATE()関数で取得できます。
mysql> select curdate(); +------------+ | curdate() | +------------+ | 2019-09-21 | +------------+ 1 row in set (0.00 sec)
5. 日付が過ぎたかどうかを判定するクエリ
以下のクエリを実行すると、現在の日付以降(まだ期限が来ていない)のレコードだけを抽出できます。
mysql> select * from DemoTable1340 where Deadline >= curdate();
実行結果は以下の通りです。
+------------+ | Deadline | +------------+ | 2019-09-23 | | 2019-09-28 | +------------+ 2 rows in set (0.00 sec)
結果の解説
Deadline >= curdate()という条件により、現在の日付(2019-09-21)以降の日付を持つ「2019-09-23」と「2019-09-28」の2件のみが表示されました。つまり、これらはまだ期限が来ていないレコードです。
逆に、すでに過ぎた日付(期限切れ)のレコードだけを抽出したい場合は、比較演算子を変更してWHERE Deadline < CURDATE()とすればOKです。状況に応じて>や<=などを使い分けることで、柔軟に日付の判定が行えます。
-
MySQLで現在選択中のデータベースを確認する方法|DATABASE()関数とstatusコマンドの使い方
MySQLに接続している際、「今どのデータベースを選択しているのか」を確認したい場面はよくあります。この記事では、DATABASE()関数やstatusコマンドを使って、現在選択中のデータベース名を簡単に確認する方法を解説します。 DATABASE()関数で選択中のデータベースを確認する MySQLでは、DUALテーブルに対してDATABASE()関数を実行することで、現在選択されているデータベース名を取得できます。 手順1:データベースを選択する まず、例として「business」というデータベースを選択してみましょう。以下のコマンドを実行します。 mysql> use busi
-
MySQLのバージョンを確認する方法をわかりやすく解説
この記事では、現在利用しているMySQLサーバーのバージョンを確認する方法について詳しく解説します。コンソールでクエリを実行する前に、まずクライアントがサーバーに正しく接続されていることを確認しておきましょう。接続が確立されていないと、クエリを実行しても結果を取得できません。MySQLのバージョンを確認する基本クエリ以下のクエリを実行すると、使用中のサーバーのバージョン番号と、実行時点の日付を同時に取得できます。mysql> SELECT VERSION(), CURRENT_DATE;ポイント: 関数「VERSION()」や「CURRENT_DATE」は大文字・小文字を区別しません。つ