MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak TIME_TO_SEC() działa w MariaDB

W MariaDB, TIME_TO_SEC() jest wbudowaną funkcją daty i czasu, która zwraca swój argument czasu, przekonwertowany na sekundy.

Składnia

Składnia wygląda tak:

TIME_TO_SEC(time)

Gdzie time to wartość czasu do przeliczenia na sekundy.

Przykład

Oto przykład:

SELECT TIME_TO_SEC('00:01:00');

Wynik:

+-------------------------+
| TIME_TO_SEC('00:01:00') |
+-------------------------+
|                      60 |
+-------------------------+

Oto kilka innych wartości czasu:

SELECT 
    TIME_TO_SEC('01:00:00'),
    TIME_TO_SEC('15:37:46');

Wynik:

+-------------------------+-------------------------+
| TIME_TO_SEC('01:00:00') | TIME_TO_SEC('15:37:46') |
+-------------------------+-------------------------+
|                    3600 |                   56266 |
+-------------------------+-------------------------+

Mikrosekundy

TIME_TO_SEC() obsługuje mikrosekundy:

SELECT TIME_TO_SEC('00:01:00.123456');

Wynik:

+--------------------------------+
| TIME_TO_SEC('00:01:00.123456') |
+--------------------------------+
|                      60.123456 |
+--------------------------------+

Większe godziny

TIME wartości mogą należeć do zakresu '-838:59:59.999999' do '838:59:59.999999' .

Dlatego część godzinowa może być znacznie wyższa niż 23 :

SELECT TIME_TO_SEC('838:59:59');

Wynik:

+--------------------------+
| TIME_TO_SEC('838:59:59') |
+--------------------------+
|                  3020399 |
+--------------------------+

Ujemne wartości czasu

Oto przykład z ujemną wartością czasu:

SELECT TIME_TO_SEC('-820:38:15');

Wynik:

+---------------------------+
| TIME_TO_SEC('-820:38:15') |
+---------------------------+
|                  -2954295 |
+---------------------------+

Czasy poza zakresem

Jednak podanie wartości czasu poza zakresem zwróci sekundy dla górnej granicy tego zakresu wraz z ostrzeżeniem:

SELECT TIME_TO_SEC('920:38:15');

Wynik:

+--------------------------+
| TIME_TO_SEC('920:38:15') |
+--------------------------+
|                  3020399 |
+--------------------------+
1 row in set, 1 warning (0.002 sec)

Sprawdźmy ostrzeżenie:

SHOW WARNINGS;

Wynik:

+---------+------+---------------------------------------------+
| Level   | Code | Message                                     |
+---------+------+---------------------------------------------+
| Warning | 1292 | Truncated incorrect time value: '920:38:15' |
+---------+------+---------------------------------------------+

Nieprawidłowy argument

Po przekazaniu nieprawidłowych argumentów TIME_TO_SEC() zwraca null z ostrzeżeniem:

SELECT TIME_TO_SEC('Homer');

Wynik:

+----------------------+
| TIME_TO_SEC('Homer') |
+----------------------+
|                 NULL |
+----------------------+
1 row in set, 1 warning (0.000 sec)

Sprawdź ostrzeżenie:

SHOW WARNINGS;

Wynik:

+---------+------+-------------------------------+
| Level   | Code | Message                       |
+---------+------+-------------------------------+
| Warning | 1292 | Incorrect time value: 'Homer' |
+---------+------+-------------------------------+

Brakujący argument

Wywołanie TIME_TO_SEC() z niewłaściwą liczbą argumentów lub bez przekazywania jakichkolwiek argumentów powoduje błąd:

SELECT TIME_TO_SEC();

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TIME_TO_SEC'

I kolejny przykład:

SELECT TIME_TO_SEC('10:09:10', 2);

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TIME_TO_SEC'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaplanować tworzenie kopii zapasowych bazy danych za pomocą ClusterControl

  2. Migracja z bazy danych Oracle do MariaDB — co powinieneś wiedzieć

  3. Co to jest odstający element zapytania i jak go naprawić

  4. Jak monitorować kontenery MySQL za pomocą Prometheusa — wdrożenie w trybie Standalone i Swarm::Część pierwsza

  5. 4 sposoby na wyświetlenie listy wszystkich tabel w bazie danych MariaDB