Tính khoảng thời gian giữa 2 mốc thời gian trong MySQL

Bởi Kiên Smart Data
0 Nhận xét
tính khoảng thời gian giữa 2 mốc thời gian trong MYSQL

Trong bài viết sau đây, SmartData sẽ giới thiệu cho các bạn phương pháp tính khoảng thời gian giữa 2 mốc thời gian trong MySQL.

Tình Huống

Giả sử ta có 1 bảng travel, bao gồm các cột: id, departure, and arrival.

iddeparturearrival
12018-03-252018-04-05
22019-09-122019-09-23
32018-07-142018-07-14
42018-01-052018-01-08

Bạn muốn tính khoảng chênh lệch giữa 2 mốc arrival departure, hoặc cả số ngày tổng thể từ lúc arrival đến lúc departure. Chúng ta viết câu truy vấn như sau:

SELECT

  id,

  departure,

  arrival,

  DATEDIFF(arrival, departure) AS date_difference,

  DATEDIFF(arrival, departure) + 1 AS days_inclusive

FROM travel;

Kết quả thu được là:

iddeparturearrivaldate_differencedays_inclusive
12018-03-252018-04-051112
22019-09-122019-09-231112
32018-07-142018-07-1401
42018-01-052018-01-0834

Thảo Luận

Để tính chênh lệch giữa 2 mốc thời gian trong MySQL, ta sử dụng hàm DATEDIFF(end_date, start_date). Khoảng chênh lệch giữa 2 mốc thời gian sẽ được tính theo đơn vị ngày. Trong trường hợp này, end_date là arrival và start_date là departure.

Trong hầu hết các trường hợp, giá trị bạn muốn thường là số ngày từ ngày đầu đến ngày kết thúc 1 cách tổng thể vì thế bạn cần +1 vào hàm DATEDIFF(end_date, start_date).

Tổng Kết

Qua bài viết trên, SmartData đã hướng dẫn cho các bạn cách tính khoảng thời gian giữa 2 mốc thời gian trong MySQL. Hi vọng có thể giúp các bạn có thêm các kiến thức mới và ứng dụng được vào công việc hằng ngày. Cảm ơn các bạn đã theo dõi.

Nếu bạn là newbie có thể tham khảo bài viết này để tìm hiểu lộ trình học DA trong 3 tháng của SmartData.

Nếu bạn thấy bài viết hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa:

Bài viết liên quan

Để lại nhận xét

Copyright @2022 – Bản quyền thuộc Học viện dữ lệu Smart Data