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
demo12có cộtcreated_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.