W MariaDB, SECOND() to wbudowana funkcja daty i czasu, która zwraca część sekund z danego wyrażenia czasu.
Przyjmuje jeden argument, czyli czas, z którego chcesz wydobyć sekundy.
Sekundy są zwracane jako liczba z zakresu 0 do 59 .
Składnia
Składnia wygląda tak:
SECOND(time)
Gdzie time to wyrażenie czasowe, z którego należy pobrać sekundy.
Przykład
Oto przykład:
SELECT SECOND('10:30:45'); Wynik:
+--------------------+
| SECOND('10:30:45') |
+--------------------+
| 45 |
+--------------------+ Oto kolejny przykład obejmujący mikrosekundy:
SELECT SECOND('10:30:45.123456'); Wynik:
+---------------------------+
| SECOND('10:30:45.123456') |
+---------------------------+
| 45 |
+---------------------------+ Tak czy inaczej, wynik jest taki sam.
Wartości daty i godziny
Działa również z wartościami daty i godziny:
SELECT SECOND('2030-02-01 10:30:45'); Wynik:
+-------------------------------+
| SECOND('2030-02-01 10:30:45') |
+-------------------------------+
| 45 |
+-------------------------------+ Aktualna data
Możemy przekazać NOW() jako argument datetime, aby użyć aktualnego czasu:
SELECT
NOW(),
SECOND(NOW()); Wynik:
+---------------------+---------------+ | NOW() | SECOND(NOW()) | +---------------------+---------------+ | 2021-05-16 14:32:40 | 40 | +---------------------+---------------+
Nieprawidłowe argumenty
Po przekazaniu nieprawidłowego argumentu czasu, SECOND() zwraca null :
SELECT SECOND('10:75:00'); Wynik:
+--------------------+
| SECOND('10:75:00') |
+--------------------+
| NULL |
+--------------------+ Brakujący argument
Wywołanie SECOND() z niewłaściwą liczbą argumentów lub bez przekazywania jakichkolwiek argumentów powoduje błąd:
SELECT SECOND(); Wynik:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
I kolejny przykład:
SELECT SECOND('10:30:45', '06:30:45'); Wynik:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '06:30:45')' at line 1