sql >> Databasteknik >  >> RDS >> Mysql

MySQL konverterar timediff-utdata till formatet dag, timme, minut, sekund

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')

Använd din sluttid och starttid för de fasta datetime-värdena i mitt exempel

Enligt de två kommentarerna nedan fungerar den här lösningen endast för datumskillnader inom 35 dagar. Om du vet att det är mer än 35 dagar mellan start och slut, det vill säga skillnader över en månad, använd inte det. Andra svar här med TIMESTAMPDIFF kommer att fungera.



  1. Använd inte sys.sql_dependencies i SQL Server (den är utfasad)

  2. Hur man lägger till en titel till en formulärrubrik i Microsoft Access

  3. Hur får man en ålder från ett D.O.B-fält i MySQL?

  4. Reparerar Postgresql efter uppgradering till OSX 10.7 Lion