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