Używając MySQL, możesz użyć TIME_TO_SEC()
funkcja zwracająca liczbę sekund w wartości czasu. W szczególności ta funkcja zwraca argument czasu, przekonwertowany na sekundy.
Tej funkcji nie należy mylić z TO_SECONDS()
funkcja, która po podaniu argumentu daty lub daty i godziny zwraca liczbę sekund od roku 0.
Oto jak TIME_TO_SEC()
działa.
Składnia
Składnia wygląda tak:
TIME_TO_SEC(time)
Gdzie time
to wartość czasu, którą chcesz przekonwertować na sekundy.
Przykład 1 – Przykład podstawowy
Oto przykład do zademonstrowania.
SELECT TIME_TO_SEC('00:01:00');
Wynik:
+-------------------------+ | TIME_TO_SEC('00:01:00') | +-------------------------+ | 60 | +-------------------------+
Przykład 2 – Większa wartość
A oto jak to wygląda, gdy używamy większej wartości czasu:
SELECT TIME_TO_SEC('01:00:00');
Wynik:
+-------------------------+ | TIME_TO_SEC('01:00:00') | +-------------------------+ | 3600 | +-------------------------+
Przykład 3 – Aktualny czas
Możesz przekazać CURTIME()
funkcja jako argument zwracający liczbę sekund w bieżącym czasie.
SELECT CURTIME() AS 'Current Time', TIME_TO_SEC(CURTIME()) AS 'Seconds';
Wynik:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:04:47 | 32687 | +--------------+---------+
Oto ten sam przykład, ale przy użyciu CURRENT_TIME()
funkcja (która jest synonimem CURTIME()
).
SELECT CURRENT_TIME() AS 'Current Time', TIME_TO_SEC(CURRENT_TIME()) AS 'Seconds';
Wynik:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:05:23 | 32723 | +--------------+---------+
Przykład 4 – Upływ czasu
Typ danych czasu nie ogranicza się tylko do pory dnia. Może być również używany do reprezentowania czasu, który upłynął.
Oto przykład uzyskania liczby sekund w 400 godzinach.
SELECT TIME_TO_SEC('400:00:00');
Wynik:
+--------------------------+ | TIME_TO_SEC('400:00:00') | +--------------------------+ | 1440000 | +--------------------------+