Xử lý dữ liệu Ngày tháng (Date & Time) trong SQL: 8 hàm trích xuất, cộng trừ và định dạng chuẩn

E39d618a-9ae8-4ef7-a57b-878f414386b5

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.

    SQL

    SELECT 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:

SQL

-- 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:

SQL

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:

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:

SQL

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

→ Chỉ mục