Quando usi MySQL, puoi usare TIME_TO_SEC()
funzione per restituire il numero di secondi in un valore di tempo. In particolare, questa funzione restituisce l'argomento del tempo, convertito in secondi.
Questa funzione non deve essere confusa con TO_SECONDS()
funzione, che, dato un argomento date o datetime, restituisce il numero di secondi dall'anno 0.
Ecco come TIME_TO_SEC()
funziona.
Sintassi
La sintassi è questa:
TIME_TO_SEC(time)
Dove time
è il valore del tempo che vuoi convertire in secondi.
Esempio 1 – Esempio di base
Ecco un esempio da dimostrare.
SELECT TIME_TO_SEC('00:01:00');
Risultato:
+-------------------------+ | TIME_TO_SEC('00:01:00') | +-------------------------+ | 60 | +-------------------------+
Esempio 2 – Valore maggiore
Ed ecco come appare quando utilizziamo un valore temporale maggiore:
SELECT TIME_TO_SEC('01:00:00');
Risultato:
+-------------------------+ | TIME_TO_SEC('01:00:00') | +-------------------------+ | 3600 | +-------------------------+
Esempio 3 – Ora attuale
Puoi passare il CURTIME()
funzione come argomento per restituire il numero di secondi nell'ora corrente.
SELECT CURTIME() AS 'Current Time', TIME_TO_SEC(CURTIME()) AS 'Seconds';
Risultato:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:04:47 | 32687 | +--------------+---------+
Ecco lo stesso esempio, ma usando il CURRENT_TIME()
funzione (che è sinonimo di CURTIME()
).
SELECT CURRENT_TIME() AS 'Current Time', TIME_TO_SEC(CURRENT_TIME()) AS 'Seconds';
Risultato:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:05:23 | 32723 | +--------------+---------+
Esempio 4 – Tempo trascorso
Il tipo di dati temporali non è limitato alla sola ora del giorno. Può anche essere usato per rappresentare il tempo trascorso.
Ecco un esempio di come ottenere il numero di secondi in 400 ore.
SELECT TIME_TO_SEC('400:00:00');
Risultato:
+--------------------------+ | TIME_TO_SEC('400:00:00') | +--------------------------+ | 1440000 | +--------------------------+