Når du bruger MySQL, kan du bruge TIME_TO_SEC()
funktion for at returnere antallet af sekunder i en tidsværdi. Specifikt returnerer denne funktion tidsargumentet, konverteret til sekunder.
Denne funktion må ikke forveksles med TO_SECONDS()
funktion, som givet et dato- eller datetime-argument returnerer antallet af sekunder siden år 0.
Sådan gør du TIME_TO_SEC()
virker.
Syntaks
Syntaksen ser sådan ud:
TIME_TO_SEC(time)
Hvor time
er den tidsværdi, du ønsker konverteret til sekunder.
Eksempel 1 – Grundlæggende eksempel
Her er et eksempel til at demonstrere.
SELECT TIME_TO_SEC('00:01:00');
Resultat:
+-------------------------+ | TIME_TO_SEC('00:01:00') | +-------------------------+ | 60 | +-------------------------+
Eksempel 2 – Større værdi
Og sådan ser det ud, når vi bruger en større tidsværdi:
SELECT TIME_TO_SEC('01:00:00');
Resultat:
+-------------------------+ | TIME_TO_SEC('01:00:00') | +-------------------------+ | 3600 | +-------------------------+
Eksempel 3 – Aktuel tid
Du kan sende CURTIME()
fungere som et argument for at returnere antallet af sekunder i den aktuelle tid.
SELECT CURTIME() AS 'Current Time', TIME_TO_SEC(CURTIME()) AS 'Seconds';
Resultat:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:04:47 | 32687 | +--------------+---------+
Her er det samme eksempel, men ved at bruge CURRENT_TIME()
funktion (som er et synonym for CURTIME()
).
SELECT CURRENT_TIME() AS 'Current Time', TIME_TO_SEC(CURRENT_TIME()) AS 'Seconds';
Resultat:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:05:23 | 32723 | +--------------+---------+
Eksempel 4 – Forløbet tid
Tidsdatatypen er ikke begrænset til kun tidspunktet på dagen. Det kan også bruges til at repræsentere forløbet tid.
Her er et eksempel på at få antallet af sekunder på 400 timer.
SELECT TIME_TO_SEC('400:00:00');
Resultat:
+--------------------------+ | TIME_TO_SEC('400:00:00') | +--------------------------+ | 1440000 | +--------------------------+