×

Tính khoảng cách giữa hai ngày với hàm DATEDIFF() trong MySQL

Khi làm việc với cơ sở dữ liệu, việc tính toán khoảng cách giữa hai ngày là một nhiệm vụ phổ biến. Trong MySQL, hàm DATEDIFF() là công cụ hữu hiệu để thực hiện công việc này. Hàm này giúp xác định số ngày chênh lệch giữa hai mốc thời gian.

Cấu trúc của hàm DATEDIFF()

Để sử dụng hàm DATEDIFF(), bạn cần nắm vững cấu trúc cơ bản của nó. Cấu trúc hàm như sau:

DATEDIFF(date1, date2)
  • date1: Ngày đích cần so sánh.
  • date2: Ngày bắt đầu cần so sánh.

Kết quả trả về

Hàm DATEDIFF() sẽ trả về số ngày chênh lệch giữa hai ngày được chỉ định. Kết quả là một số nguyên, có thể là số dương hoặc âm tùy thuộc vào thứ tự của các ngày đầu vào.

Ví dụ thực tế

Hãy xem xét một vài ví dụ cụ thể để hiểu rõ hơn về cách sử dụng hàm DATEDIFF() trong MySQL.

Ví dụ 1: Chênh lệch ngày trong tương lai

SELECT DATEDIFF('2023-12-31', '2023-01-01');

Kết quả sẽ là số ngày giữa ngày 1 tháng 1 năm 2023 và ngày 31 tháng 12 năm 2023. Kết quả trả về ở đây sẽ là 364.

Ví dụ 2: Chênh lệch ngày trong quá khứ

SELECT DATEDIFF('2023-01-01', '2023-12-31');

Trong trường hợp này, ngày đích là ngày đầu năm và ngày bắt đầu là ngày cuối năm, vì vậy kết quả sẽ là -364, cho thấy ngày đầu vào sau xảy ra trước ngày đầu ra.

Ứng dụng trong thực tế

Sử dụng hàm DATEDIFF() có thể rất hữu ích trong nhiều tình huống thực tế, chẳng hạn như:

Quản lý dự án

Khi quản lý một dự án, bạn có thể sử dụng DATEDIFF() để tính toán số ngày còn lại trước khi hoàn thành dự án:

SELECT DATEDIFF(ngay_hoan_thanh, CURDATE()) AS ngay_con_lai
FROM du_an
WHERE ten_du_an = 'Du an XYZ';

Quản lý nhân sự

Trong quản lý nhân sự, bạn có thể theo dõi số ngày nghỉ phép của nhân viên:

SELECT nhan_vien_id, DATEDIFF(ngay_ket_thuc_nghi, ngay_bat_dau_nghi) AS so_ngay_nghi
FROM nghi_phep
WHERE trang_thai = 'Đã duyệt';

Hệ thống quản lý bán hàng

Trong hệ thống quản lý bán hàng, có thể cần tính toán số ngày giữa các đơn hàng để phân tích xu hướng:

SELECT DATEDIFF(ngay_dat_hang, ngay_giao_hang) AS thoi_gian_giao_hang
FROM don_hang;

Kết luận

Hàm DATEDIFF() trong MySQL là một công cụ đơn giản nhưng mạnh mẽ giúp tính toán nhanh chóng số ngày chênh lệch giữa hai mốc thời gian. Hiểu rõ cách sử dụng hàm này sẽ giúp bạn xử lý dữ liệu một cách hiệu quả và áp dụng vào nhiều trường hợp thực tế, từ quản lý dự án đến quản lý nhân sự hay hệ thống bán hàng.

Comments