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 |
+--------------------------+