Tính toán chênh lệch giữa hai ngày trong MySQL thực sự dễ dàng. Đây là cách bạn có thể làm điều đó. Giả sử dt1 và dt2 là 2 cột trong bảng tên_bảng . Chỉ cần thay thế db1, db2 và table_name trong các truy vấn bên dưới bằng các giá trị của bạn.
Một trường hợp sử dụng đơn giản là một bảng được gọi là người dùng với 2 trường được gọi là ngày đăng ký và ngày cuối cùng. Bạn có thể tính toán chênh lệch giữa hai ngày để tìm cách người dùng đăng nhập gần đây sau khi đăng ký.
Sự khác biệt giữa hai ngày hiển thị dưới dạng các cột trong bảng
SELECT UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 ) from table_name;
Sự khác biệt giữa hai ngày được lưu trữ dưới dạng biến
SET @dt1='2013-11-09 00:00:00'; SET @dt2='2012-10-07 00:00:00'; SELECT UNIX_TIMESTAMP( @dt2 ) - UNIX_TIMESTAMP( @dt1 );
Chênh lệch giữa hai ngày tính bằng phút
Nếu bạn muốn tìm ra sự khác biệt về số phút, chỉ cần chia kết quả trên cho 60
SELECT (UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 ))/60 from table_name;
Chênh lệch giữa hai ngày tính theo giờ
Nếu bạn muốn tìm ra sự khác biệt về số phút, chỉ cần chia kết quả trên cho 3600
SELECT (UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 ))/3600 from table_name;
Chênh lệch giữa hai ngày tính theo ngày
Nếu bạn muốn tìm ra sự khác biệt về số phút, chỉ cần chia kết quả trên cho 3600 * 24