×

Thêm ngày vào ngày hiện tại với hàm DATE_ADD() trong MySQL

Công việc quản lý cơ sở dữ liệu thường đòi hỏi các kỹ năng thao tác với dữ liệu thời gian một cách linh hoạt. Một trong những yêu cầu phổ biến là thêm số ngày cụ thể vào một ngày có sẵn. Trong MySQL, hàm DATE_ADD() cung cấp một phương pháp dễ dàng và hiệu quả để thực hiện điều này.

Hàm DATE_ADD() là gì?

DATE_ADD() là một hàm trong MySQL cho phép thêm một khoảng thời gian cụ thể vào một ngày hoặc thời gian. Hàm này rất hữu ích trong nhiều tình huống, chẳng hạn như tính toán ngày hết hạn, lập kế hoạch cho các sự kiện sắp tới, hoặc tạo ra các biểu đồ thời gian.

Cú pháp của hàm DATE_ADD()

Cú pháp của hàm DATE_ADD() như sau:

DATE_ADD(date, INTERVAL expr unit)
  • date: Tham số này là một ngày hợp lệ hoặc biểu thức ngày mà bạn muốn thêm khoảng thời gian vào.
  • expr: Số lượng khoảng thời gian bạn muốn thêm (có thể là số nguyên dương hoặc âm).
  • unit: Đơn vị thời gian, ví dụ như DAY, MONTH, YEAR, MINUTE, SECOND,...

Ví dụ về các đơn vị thời gian

  • SECOND: giây
  • MINUTE: phút
  • HOUR: giờ
  • DAY: ngày
  • WEEK: tuần
  • MONTH: tháng
  • QUARTER: quý
  • YEAR: năm

Các ví dụ cụ thể

Thêm một ngày vào ngày hiện tại:

SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY);

Thêm 7 ngày vào một ngày cụ thể:

SELECT DATE_ADD('2023-01-01', INTERVAL 7 DAY);

Thêm 2 tháng vào ngày hiện tại:

SELECT DATE_ADD(CURDATE(), INTERVAL 2 MONTH);

Thêm 3 năm vào một ngày cụ thể:

SELECT DATE_ADD('2020-10-15', INTERVAL 3 YEAR);

Sử dụng DATE_ADD() trong truy vấn thực tế

Truy vấn để tìm tất cả các đơn hàng sẽ hết hạn sau 30 ngày:

SELECT order_id, order_date, DATE_ADD(order_date, INTERVAL 30 DAY) AS expiration_date
FROM orders;

Truy vấn để tìm khách hàng có ngày sinh nhật sau 10 ngày tính từ hôm nay:

SELECT customer_id, name, birth_date
FROM customers
WHERE DATE_ADD(birth_date, INTERVAL 10 DAY) = CURDATE();

Kết hợp với các hàm khác

Bạn có thể kết hợp DATE_ADD() với các hàm khác của MySQL để thực hiện các tác vụ phức tạp hơn. Chẳng hạn, bạn có thể kết hợp với hàm DATEDIFF() để tính khoảng thời gian giữa hai ngày sau khi đã sử dụng DATE_ADD().

Ví dụ:

SELECT DATEDIFF(DATE_ADD('2023-01-01', INTERVAL 10 DAY), CURDATE()) AS days_difference;

Lời kết

Sử dụng hàm DATE_ADD() trong MySQL cho phép bạn dễ dàng và linh hoạt hơn khi làm việc với các giá trị ngày tháng. Từ việc kế hoạch hoá lịch trình, cập nhật dữ liệu cho đến việc tạo các báo cáo phân tích, hàm này chính là công cụ mạnh mẽ trong tay các nhà phát triển cơ sở dữ liệu.

Với kiến thức về DATE_ADD(), bạn hoàn toàn có thể tự tin xử lý các bài toán liên quan đến thời gian một cách hiệu quả và chính xác. Hãy thử áp dụng và khám phá thêm các chức năng khác của MySQL để nâng cao kỹ năng của mình.

Comments