När du använder MySQL kan du använda TIME_TO_SEC()
funktion för att returnera antalet sekunder i ett tidsvärde. Specifikt returnerar den här funktionen tidsargumentet, omvandlat till sekunder.
Denna funktion ska inte förväxlas med TO_SECONDS()
funktion, som, givet ett datum- eller datetime-argument, returnerar antalet sekunder sedan år 0.
Så här gör du TIME_TO_SEC()
fungerar.
Syntax
Syntaxen ser ut så här:
TIME_TO_SEC(time)
Där time
är det tidsvärde du vill omvandla till sekunder.
Exempel 1 – Grundläggande exempel
Här är ett exempel att visa.
SELECT TIME_TO_SEC('00:01:00');
Resultat:
+-------------------------+ | TIME_TO_SEC('00:01:00') | +-------------------------+ | 60 | +-------------------------+
Exempel 2 – Större värde
Och så här ser det ut när vi använder ett större tidsvärde:
SELECT TIME_TO_SEC('01:00:00');
Resultat:
+-------------------------+ | TIME_TO_SEC('01:00:00') | +-------------------------+ | 3600 | +-------------------------+
Exempel 3 – Aktuell tid
Du kan skicka CURTIME()
fungerar som ett argument för att returnera antalet sekunder i den aktuella tiden.
SELECT CURTIME() AS 'Current Time', TIME_TO_SEC(CURTIME()) AS 'Seconds';
Resultat:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:04:47 | 32687 | +--------------+---------+
Här är samma exempel, men med CURRENT_TIME()
funktion (som är en synonym för CURTIME()
).
SELECT CURRENT_TIME() AS 'Current Time', TIME_TO_SEC(CURRENT_TIME()) AS 'Seconds';
Resultat:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:05:23 | 32723 | +--------------+---------+
Exempel 4 – Förfluten tid
Tidsdatatypen är inte begränsad till bara tid på dygnet. Den kan också användas för att representera förfluten tid.
Här är ett exempel på hur du får antalet sekunder på 400 timmar.
SELECT TIME_TO_SEC('400:00:00');
Resultat:
+--------------------------+ | TIME_TO_SEC('400:00:00') | +--------------------------+ | 1440000 | +--------------------------+