Ho pensato di postarti la risposta nella prospettiva di riassumere i problemi relativi al valore del tempo che gli sviluppatori hanno dovuto affrontare finora. Non si tratta solo di formattazione.
Potresti aver notato o meno che la somma delle possibilità del tuo tempo totale può essere calcolata erroneamente dal motore. Un ulteriore motore MySQL potrebbe restituire null anche se hai valori.
Quando si aggiungono/aggregano i valori temporali, questi vengono convertiti in un numero e i risultati saranno in formato numerico. Se tenti di sommare valori di tempo come i seguenti:
per esempio. 01:38:50, 03:40:25 --> dovrebbe idealmente risultare in 05:19:15
- Se esegui Somma (i due precedenti) --> ottieni un numero
- Se usi CAST(Sum(the above two) AS TIME) --> ottieni null
- Ci sono altre due possibilità mostrate nel mio frammento di codice.
Riferimento al codice di esempio . Ti mostrerà i diversi risultati di cui abbiamo appena discusso. Per ora, sembra che la formattazione a tre vie potrebbe aiutare.
time_format(sec_to_time(sum(time_to_sec(logged_duration))),'%h:%i:%s') total_log_duration
Il bug segnalato a MySQL non è stato ancora corretto.