Il SECOND()
di MySQL la funzione viene utilizzata per restituire il secondo componente da un valore temporale.
Il valore restituito per questa funzione è compreso nell'intervallo 0 a 59 . Di seguito sono riportati esempi da dimostrare.
Sintassi
La sintassi di questa funzione è la seguente:
SECOND(time)
Dove time
è il valore temporale da cui vuoi estrarre il componente secondi.
Esempio 1 – Utilizzo di base
Ecco un esempio da dimostrare.
SELECT SECOND('10:35:27');
Risultato:
+--------------------+ | SECOND('10:35:27') | +--------------------+ | 27 | +--------------------+
Esempio 2 – Valori temporali abbreviati senza due punti
Ecco un esempio che utilizza un valore di tempo abbreviato senza due punti.
SELECT SECOND('1227');
Risultato:
+----------------+ | SECOND('1227') | +----------------+ | 27 | +----------------+
Ed ecco un esempio in cui vengono fornite solo due cifre.
SELECT SECOND('27');
Risultato:
+--------------+ | SECOND('27') | +--------------+ | 27 | +--------------+
Quindi MySQL interpreta questo come 27 secondi.
Tuttavia, fai attenzione quando usi valori temporali abbreviati, poiché MySQL a volte può interpretarli in modo diverso da quello che potresti aspettarti.
Ecco cosa dice la documentazione di MySQL al riguardo:
Fai attenzione ad assegnare valori abbreviati a un TIME
colonna. MySQL interpreta l'abbreviazione TIME
valori con due punti come ora del giorno. Cioè, '11:12'
significa '11:12:00'
, non '00:11:12'
. MySQL interpreta i valori abbreviati senza due punti partendo dal presupposto che le due cifre più a destra rappresentino i secondi (ovvero, come tempo trascorso anziché come ora del giorno). Ad esempio, potresti pensare a '1112'
e 1112
nel senso di '11:12:00'
(12 minuti dopo le 23), ma MySQL li interpreta come '00:11:12'
(11 minuti, 12 secondi). Allo stesso modo, '12'
e 12
vengono interpretati come '00:00:12'
.
Esempio 3:un'alternativa
Puoi anche usare EXTRACT()
funzione per estrarre i secondi (e altre parti di data/ora) da un valore di data/ora:
SELECT EXTRACT(SECOND FROM '10:35:27');
Risultato:
+---------------------------------+ | EXTRACT(SECOND FROM '10:35:27') | +---------------------------------+ | 27 | +---------------------------------+