MySQL DATEDIFF

Giới thiệu về MySQL DATEDIFF

MySQL DATEDIFF là một hàm trong ngôn ngữ lập trình SQL, cho phép người dùng tính toán số ngày giữa hai ngày khác nhau. Hàm này rất hữu ích trong các ứng dụng cần xác định khoảng thời gian, chẳng hạn như tính toán độ tuổi, thời hạn bảo hành, hoặc lịch sử giao dịch.

Cú pháp

Cú pháp cơ bản của hàm DATEDIFF như sau:

DATEDIFF(date1, date2)

Trong đó:

  • date1: Ngày đầu tiên.
  • date2: Ngày thứ hai.

Kết quả của hàm sẽ là số nguyên đại diện cho số ngày giữa date1date2. Nếu date1 lớn hơn date2, hàm sẽ trả về một giá trị dương; nếu ngược lại, nó sẽ trả về một giá trị âm.

Ví dụ sử dụng DATEDIFF

Ví dụ 1: Tính số ngày giữa hai ngày cố định

SELECT DATEDIFF('2023-10-01', '2023-09-25') AS days_difference;

Kết quả sẽ là 6, vì giữa hai ngày này có 6 ngày khác nhau.

Ví dụ 2: Tính số ngày từ ngày hiện tại

SELECT DATEDIFF(CURDATE(), '2023-01-01') AS days_from_new_year;

Kết quả sẽ là số ngày từ ngày 1 tháng 1 năm 2023 đến ngày hiện tại.

Ví dụ 3: So sánh ngày trong bảng dữ liệu

Giả sử bạn có một bảng orders với các cột order_datedelivery_date. Bạn muốn biết số ngày giữa ngày đặt hàng và ngày giao hàng:

SELECT order_id, 
       DATEDIFF(delivery_date, order_date) AS delivery_days
FROM orders;

Kết quả sẽ là danh sách các đơn hàng cùng với số ngày cần thiết để giao hàng cho mỗi đơn.

Kết luận

Hàm DATEDIFF trong MySQL là một công cụ mạnh mẽ cho phép tính toán khoảng thời gian giữa hai ngày. Việc hiểu và sử dụng được hàm này sẽ giúp bạn xử lý các bài toán liên quan đến thời gian một cách dễ dàng và hiệu quả.