Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL chuyển đổi đầu ra timediff sang định dạng ngày, giờ, phút, giây

SELECT CONCAT(
FLOOR(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')) / 24), ' days ',
MOD(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), 24), ' hours ',
MINUTE(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), ' minutes')

Sử dụng end_time và start_time của bạn cho các giá trị ngày giờ cố định trong ví dụ của tôi

Theo hai nhận xét bên dưới, giải pháp này chỉ hoạt động đối với sự khác biệt về ngày trong vòng 35 ngày. Nếu bạn biết có hơn 35 ngày giữa thời điểm bắt đầu và kết thúc, tức là sự khác biệt trong một tháng, đừng sử dụng nó. Các câu trả lời khác ở đây bằng TIMESTAMPDIFF sẽ hoạt động.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trình duyệt Neo4j

  2. Truy vấn con so với tham gia

  3. Số tham số không hợp lệ:tham số không được xác định Chèn dữ liệu

  4. Tại sao chỉ có thể có một cột TIMESTAMP với CURRENT_TIMESTAMP trong mệnh đề DEFAULT?

  5. Cách hoạt động của hàm MAKE_SET () trong MySQL