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

MySQLで今日から7日前までの日付データを取得する方法

特定の期間内の日付データを取得するには、DATE()関数とINTERVAL演算子を組み合わせて使用します。ここでは、今日から7日前までの間に該当するレコードを抽出する方法を解説します。

select *from yourTableName where DATE(yourColumnName) > (NOW() - INTERVAL 7 DAY);

注意: 現在の日付が「2019-06-02」であると仮定して説明します。まずはサンプル用のテーブルを作成しましょう。

mysql> create table DemoTable
    (
    LoginDate date
    );
Query OK, 0 rows affected (0.57 sec)

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

mysql> insert into DemoTable values('2018-03-21');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('2019-05-22');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('2019-05-27');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('2019-06-01');
Query OK, 1 row affected (0.16 sec)

select文を使って、テーブル内のすべてのレコードを確認してみましょう。

mysql> select *from DemoTable;

出力結果

+------------+
| LoginDate  |
+------------+
| 2018-03-21 |
| 2019-05-22 |
| 2019-05-27 |
| 2019-06-01 |
+------------+
4 rows in set (0.00 sec)

以下が、今日と今日の7日前の間の日付を表示するためのクエリです。NOW() - INTERVAL 7 DAYによって7日前の日時が算出され、それより後のLoginDateを持つレコードだけが抽出されます。

mysql> select *from DemoTable where DATE(LoginDate) > (NOW() - INTERVAL 7 DAY);

出力結果

+------------+
| LoginDate  |
+------------+
| 2019-05-27 |
| 2019-06-01 |
+------------+
2 rows in set (0.06 sec)

このように、現在の日付「2019-06-02」から7日前(2019-05-26)以降の日付を持つ「2019-05-27」と「2019-06-01」の2件だけが取得されました。期間を変更したい場合は、INTERVAL 7 DAYの数値を任意の値に変更するだけで対応できます。

  1. Javaで現在の日付と時刻を取得する4つの方法をサンプルコード付きで解説

    Javaで現在の日付や時刻を取得する方法はいくつかあります。この記事では、代表的な4つの方法をサンプルコードと実行結果とともにわかりやすく解説します。 1. Dateクラスのコンストラクタを使用する java.util.Dateクラスの引数なしのコンストラクタは、現在の日付と時刻を表すDateオブジェクトを返します。最も古典的でシンプルな方法です。 サンプルコード import java.util.Date; public class CreateDate {    public static void main(String args[]) {   &nbs

  2. Java 9のJShellで現在の日付と時刻を取得する方法

    JShellとはJShellは、Java 9から導入された対話型のコマンドラインツールです。Java言語やそのAPIを学習・調査・検証するために活用でき、コンソールに有効なJavaコードを入力すればその場ですぐに結果を確認できます。main()メソッドを持つ冗長なクラスを作成する必要がないため、コードの動作を手軽に試せるのが大きな魅力です。現在の日付と時刻を取得するJShellで現在の日付と時刻を取得するには、以下のようにDateオブジェクトを生成します。jshell> new Date()$1 ==> Fri Feb 28 11:59:23 IST 2020jshell>わ