Hướng dẫn cách xử lý ngày tháng trong SQL hiệu quả thông qua 8 hàm Date & Time quan trọng: DATEDIFF, DATEADD, DATE_TRUNC, EXTRACT, TO_CHAR kèm bài toán thực tế.
1. Tầm quan trọng của việc xử lý ngày tháng trong SQL
Trong cơ sở dữ liệu doanh nghiệp, dữ liệu thời gian đóng vai trò cốt lõi. Việc xử lý ngày tháng trong SQL giúp bạn giải quyết các bài toán như tính thời gian giao hàng, chu kỳ thanh toán hay phân tích xu hướng theo mùa vụ.
Tuy nhiên, mỗi hệ quản trị cơ sở dữ liệu lại có cú pháp khác nhau. Phần dưới đây tổng hợp 8 hàm quan trọng nhất giúp bạn làm chủ thao tác này.
2. Các hàm trích xuất thành phần (EXTRACT / DATEPART)
Khi cần phân tích doanh thu theo năm, tháng hoặc ngày trong tuần, bạn cần trích xuất các thành phần cụ thể từ cột thời gian:
-
EXTRACT (Tiêu chuẩn SQL): Dùng để lấy năm, tháng, ngày từ một cột ngày tháng.
SQLSELECT EXTRACT(MONTH FROM OrderDate) AS Thang FROM Orders; -
DATEPART (SQL Server): Trả về giá trị số của phần ngày tháng.
3. Các hàm cộng trừ thời gian (DATEADD / INTERVAL)
Để tính toán ngày giao hàng dự kiến (ví dụ: cộng thêm 5 ngày kể từ ngày đặt hàng), chúng ta sử dụng hàm cộng trừ thời gian:
-- Ví dụ trên PostgreSQL
SELECT OrderDate + INTERVAL '5 days' AS NgayGiaoDuKien
FROM Orders;
4. Hàm tính khoảng cách thời gian (DATEDIFF)
Bài toán tính thời gian chờ của đơn hàng (ShippedDate - OrderDate) được giải quyết nhanh chóng bằng DATEDIFF:
SELECT
OrderID,
DATEDIFF(day, OrderDate, ShippedDate) AS ThoiGianCho
FROM Orders;
5. Hàm gom cụm mốc thời gian (DATE_TRUNC)
Khi bạn muốn gom nhóm doanh thu theo từng tháng hoặc từng tuần, DATE_TRUNC là công cụ tối ưu trong quá trình xử lý ngày tháng trong SQL:
SELECT
DATE_TRUNC('month', OrderDate) AS ThangGomNhom,
SUM(Revenue) AS TongDoanhThu
FROM Sales
GROUP BY 1;
6. Hàm định dạng ngày tháng (TO_CHAR / FORMAT)
Để hiển thị ngày tháng theo định dạng chuẩn cho báo cáo (ví dụ: DD/MM/YYYY), chúng ta dùng hàm chuyển đổi chuỗi:
SELECT TO_CHAR(OrderDate, 'DD/MM/YYYY') AS NgayDep
FROM Orders;
7. Ứng dụng thực tế trong doanh nghiệp
Việc kết hợp tốt các hàm xử lý ngày tháng trong SQL giúp doanh nghiệp dễ dàng:
-
Đo lường thời gian trung bình từ lúc khách đặt hàng đến khi giao thành công.
-
Tính toán chính xác chu kỳ thanh toán công nợ B2B.
8. Tổng kết
Thành thạo kỹ thuật xử lý ngày tháng trong SQL giúp bạn tự tin giải quyết mọi bài toán phân tích thời gian, tối ưu hóa câu lệnh truy vấn và đưa ra insight chính xác.
✍️ Tác giả: Phan Thị Như Phước – Data Analyst tại MCNA Technology School
📞 Hotline: 0939.866.825 (Mr. Minh Khang)
🌐 Website: mcna.vn
📍 Hà Nội: 30 Trung Liệt, Đống Đa | Liền kề 44B TT2 Văn Quán, Hà Đông
📍 TP.HCM: 50B Phan Tây Hồ, Cầu Kiệu

