Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Thêm tháng vào ngày hiện tại bằng Java với MySQL

Giới thiệu

Trong Java JDBC, có thể nhúng hàm MySQL DATE_ADD(CURDATE(), INTERVAL n MONTH) trực tiếp vào câu lệnh INSERT để lưu ngày tháng đã cộng thêm tháng.

Ví dụ Java JDBC

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class AddMonthDemo {
    public static void main(String[] args) {
        Connection con = null;
        Statement stmt = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/sampledatabase", "root", "123456");
            stmt = con.createStatement();
            
            String query = "INSERT INTO demo12 VALUES (CURDATE() + INTERVAL 2 MONTH)";
            int status = stmt.executeUpdate(query);
            
            if (status > 0) {
                System.out.println("Record inserted successfully.");
            } else {
                System.out.println("Error: not inserted");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Giải thích

  • Giả sử hôm nay 2020-10-25, thêm 2 tháng → 2020-12-25.
  • Bảng demo12 có cột created_date DATE.
  • MySQL tự động xử lý ngày tháng (ví dụ: 31/01 + 1 tháng → 28/02 hoặc 29/02).

Lưu ý: Code dùng driver cũ com.mysql.jdbc.Driver. Phiên bản mới (MySQL Connector/J 8.0+) dùng com.mysql.cj.jdbc.Driver. Nên dùng PreparedStatement để an toàn hơn.