JavaとMySQLで現在の日付に月数を追加する方法(INTERVAL句の使い方)
JavaとMySQLを組み合わせて現在の日付に月数を追加するには、INTERVAL句を使用します。以下がその基本構文です。
String query; query = "insert into テーブル名 values(curdate()+interval 追加する月数 month)";
現在の日付を確認する
まず、curdate()関数を使って現在の日付を確認してみましょう。
mysql> select curdate(); +------------+ | curdate() | +------------+ | 2020-10-25 | +------------+ 1 row in set (0.00 sec)
テーブルを作成する
次に、日付を保存するためのテーブルを作成します。
mysql> create table demo12 -> ( -> created_date date -> ); Query OK, 0 rows affected (1.84 sec)
ここでは、Javaから現在の日付に2か月を追加して挿入します。実行後、テーブルには 2020-12-25 という日付が登録されることになります。
Javaコードの例
以下は、JDBCを使ってMySQLに接続し、INSERT文を実行するJavaコードのサンプルです。
import java.sql.Connection;
import java.sql.DriverManager;
import com.mysql.jdbc.Statement;
public class AddSomeMonthDemo {
public static void main(String[] args) {
Connection con = null;
Statement statement = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sampledatabase", "root", "123456");
statement = (Statement) con.createStatement();
String query;
query = "insert into demo12 values(curdate()+interval 2 month)";
int status = statement.executeUpdate(query);
if (status > 0)
System.out.println("レコードが正常に挿入されました。データベースを確認してください");
else
System.out.println("エラー:挿入できませんでした");
} catch (Exception e) {
e.printStackTrace();
}
}
}
このプログラムを実行すると、以下のような出力が得られます。

挿入結果を確認する
データが正しく挿入されたかどうかは、すべてのレコードを表示して確認できます。以下のSELECT文を実行してください。

補足:INTERVAL句の応用
INTERVAL句は月(MONTH)以外にも、日(DAY)、年(YEAR)、時間(HOUR)などさまざまな単位で日付計算が可能です。たとえば「curdate() + interval 7 day」とすれば1週間後の日付を取得できます。また、比較的新しいMySQL Connector/Jでは、ドライバークラス名が「com.mysql.cj.jdbc.Driver」に変更されているため、環境に合わせて使い分ける点に注意しましょう。
-
MySQLクエリで現在の日付が特定の日付範囲内に含まれるかどうかを確認する方法
MySQLでは、CURDATE()関数と比較演算子を組み合わせることで、現在の日付が特定の日付範囲(開始日〜終了日)に含まれているかどうかを簡単に判定できます。この記事では、実際のサンプルコードを使いながら手順を解説します。 サンプルテーブルの作成 まず、開始日(StartDate)と終了日(EndDate)という2つのDATE型カラムを持つテーブルを作成しましょう。 mysql> create table DemoTable1448 -> ( -> StartDate date,
-
MySQLで現在の日付に11日を追加する方法【DATE_ADD関数の使い方】
はじめにMySQLでは、DATE_ADD()関数を使うことで、日付に指定した日数を簡単に加算できます。本記事では、現在の日付(CURDATE())に11日を追加する方法を、テーブル作成からクエリ実行まで具体的な例を交えて解説します。サンプルテーブルの作成まず、デモ用のテーブルを作成しましょう。mysql> create table DemoTable1994 ( ArrivalDate date ); Query OK, 0 rows affected (5.33 sec)テストデータの挿入続いて、INSERTコマンドを使用してテーブルに複数のレコードを挿入します。mysql&g