MySQLで特定の日付以降のレコードを表示・抽出する方法
MySQLで特定の日付以降のレコードを取得する方法
MySQLでは、WHERE句に比較演算子「>=」を使うことで、特定の日付以降のレコードを簡単に抽出できます。この記事では、サンプルテーブルの作成からデータ挿入、そして指定日以降のレコードを取得するクエリまで、手順を追って解説します。
1. テーブルを作成する
まず、CREATE TABLE文で顧客名と出荷日を格納するテーブルを作成します。
mysql> create table DemoTable708 (
CustomerName varchar(100),
ShippingDate date
);
Query OK, 0 rows affected (0.51 sec)
2. レコードを挿入する
続いて、INSERT文を使ってテーブルにデータを登録します。
mysql> insert into DemoTable708 values('John','2019-01-21');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable708 values('Chris','2019-03-24');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable708 values('Robert','2019-04-26');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable708 values('David','2019-07-22');
Query OK, 1 row affected (0.17 sec)
3. すべてのレコードを確認する
SELECT文を実行して、テーブル内の全レコードを表示してみましょう。
mysql> select *from DemoTable708;
実行結果は以下のとおりです。
+--------------+--------------+ | CustomerName | ShippingDate | +--------------+--------------+ | John | 2019-01-21 | | Chris | 2019-03-24 | | Robert | 2019-04-26 | | David | 2019-07-22 | +--------------+--------------+ 4 rows in set (0.00 sec)
4. 特定の日付以降のレコードを抽出する
特定の日付以降のレコードを表示するには、WHERE句で ShippingDate >= '日付' のように条件を指定します。日付は 'YYYY-MM-DD' 形式で記述します。
以下の例では、2019年4月1日以降に出荷されたレコードのみを取得しています。
mysql> select *from DemoTable708 where ShippingDate >='2019-04-01';
実行結果:
+--------------+--------------+ | CustomerName | ShippingDate | +--------------+--------------+ | Robert | 2019-04-26 | | David | 2019-07-22 | +--------------+--------------+ 2 rows in set (0.00 sec)
まとめ
MySQLで特定の日付以降のレコードを取得する基本は、WHERE句 + 比較演算子「>=」の組み合わせです。ポイントを整理すると以下のようになります。
>=:指定した日付以降(当日を含む)のレコードを取得>:指定した日付より後(当日を含まない)のレコードを取得BETWEEN:開始日と終了日を指定して、期間で絞り込みたい場合に使用CURDATE():現在の日付以降など、動的な日付を条件にしたい場合に便利
日付型のカラムに対してこれらの条件を正しく使えば、出荷日や登録日などをもとにした柔軟なデータ抽出が可能になります。
-
MySQLでレコードを挿入しながら日付をフォーマットする方法(DATE_FORMAT活用)
MySQLでは、INSERT文の中でDATE_FORMAT()関数を使うことで、レコードを挿入する際に日付を任意の形式に整形できます。本記事では、実際にテーブルを作成し、日付をフォーマットしながらデータを挿入する手順を具体的なSQL例とともに解説します。1. テーブルの作成まず、フォーマット済みの日付文字列を格納するためのテーブルを作成します。ここでは、VARCHAR型のカラム「ShippingDate」を持つシンプルなテーブルを用意します。mysql> create table DemoTable2012 -> ( -> ShippingDate varch
-
MySQLでTRUE/FALSEのレコードを0/1として表示する方法
MySQLでTRUE/FALSEのレコードを0/1として表示する方法MySQLでは、カラムのデータ型をBOOLEANとして定義することで、TRUE/FALSEの値が自動的に0と1として表示されます。BOOLEAN型は内部的にはTINYINT(1)のエイリアスであり、TRUEは1、FALSEは0として扱われます。以下、具体的な手順を解説します。1. テーブルの作成まず、BOOLEAN型のカラムを含むテーブルを作成しましょう。mysql> create table DemoTable2035 -> (