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

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():現在の日付以降など、動的な日付を条件にしたい場合に便利

日付型のカラムに対してこれらの条件を正しく使えば、出荷日や登録日などをもとにした柔軟なデータ抽出が可能になります。

  1. MySQLでレコードを挿入しながら日付をフォーマットする方法(DATE_FORMAT活用)

    MySQLでは、INSERT文の中でDATE_FORMAT()関数を使うことで、レコードを挿入する際に日付を任意の形式に整形できます。本記事では、実際にテーブルを作成し、日付をフォーマットしながらデータを挿入する手順を具体的なSQL例とともに解説します。1. テーブルの作成まず、フォーマット済みの日付文字列を格納するためのテーブルを作成します。ここでは、VARCHAR型のカラム「ShippingDate」を持つシンプルなテーブルを用意します。mysql> create table DemoTable2012 -> ( -> ShippingDate varch

  2. 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     -> (