sql >> Database >  >> RDS >> Mysql

MySQL converteert timediff-uitvoer naar dag, uur, minuut, tweede formaat

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

Gebruik je end_time en start_time voor de vaste datetime-waarden in mijn voorbeeld

Volgens de twee onderstaande opmerkingen werkt deze oplossing alleen voor datumverschillen binnen 35 dagen. Als je weet dat er meer dan 35 dagen tussen begin en einde zitten, d.w.z. verschillen over een maand, gebruik het dan niet. Andere antwoorden hier met TIMESTAMPDIFF zullen werken.



  1. Jaren toevoegen aan een datum in PostgreSQL

  2. Hoe bereken ik een lopend totaal in SQL zonder een cursor te gebruiken?

  3. GET DIAGNOSTICS met COPY-instructie in Pl/pgsql-functie

  4. Kan pg gem niet installeren op Windows