Podczas pracy z MySQL możesz użyć funkcji TIME() funkcja do wyodrębnienia części czasu z wartości czasu lub daty i czasu.
Działa to tak, że przekazujesz wyrażenie czas/data/godzinę jako argument, a TIME() zwróci część czasu.
Składnia
Składnia wygląda tak:
TIME(expr)
Gdzie expr jest wyrażeniem czasu/daty-godzina, z którego chcesz wyodrębnić część czasu.
Przykład podstawowy
Oto przykład z użyciem wartości daty i godziny.
SELECT TIME('2021-01-03 11:15:45');
Wynik:
+-----------------------------+
| TIME('2021-01-03 11:15:45') |
+-----------------------------+
| 11:15:45 |
+-----------------------------+
Sekundy ułamkowe
Oto przykład, w którym wartość datetime zawiera również część ułamkową sekund.
SELECT TIME('2021-01-03 11:15:45.123456');
Wynik:
+------------------------------------+
| TIME('2021-01-03 11:15:45.123456') |
+------------------------------------+
| 11:15:45.123456 |
+------------------------------------+
Pomijanie części sekund
Oto przykład, w którym druga część została pominięta w początkowej wartości.
SELECT TIME('2021-01-03 11:15');
Wynik:
+--------------------------+
| TIME('2021-01-03 11:15') |
+--------------------------+
| 11:15:00 |
+--------------------------+
W takim przypadku część sekundowa jest nadal zwracana, nawet jeśli została pominięta w wartości początkowej.
Wyodrębnianie czasu z wartości „czasu”
Jak wspomniano, pierwszy argument może być samą wartością czasu (tj. nie musi to być wartość daty i czasu).
SELECT TIME('11:15');
Wynik:
+---------------+
| TIME('11:15') |
+---------------+
| 11:15:00 |
+---------------+
Replikacja oparta na oświadczeniach — ostrzeżenie
Dokumentacja MySQL zawiera następujące informacje o TIME() funkcja:
Ta funkcja jest niebezpieczna w przypadku replikacji opartej na instrukcjach. Ostrzeżenie jest rejestrowane, jeśli użyjesz tej funkcji, gdy binlog_format jest ustawiona na STATEMENT .