MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Как работи TIME_TO_SEC() в MariaDB

В MariaDB, TIME_TO_SEC() е вградена функция за дата и час, която връща своя аргумент за време, преобразуван в секунди.

Синтаксис

Синтаксисът е така:

TIME_TO_SEC(time)

Където time е стойността на времето, която трябва да се преобразува в секунди.

Пример

Ето един пример:

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

Резултат:

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

Ето го с няколко други времеви стойности:

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

Резултат:

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

Микросекунди

TIME_TO_SEC() поддържа микросекунди:

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

Резултат:

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

По-голямо работно време

TIME стойностите могат да бъдат в диапазона '-838:59:59.999999' до '838:59:59.999999' .

Следователно часовата част може да бъде много по-висока от 23 :

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

Резултат:

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

Отрицателни времеви стойности

Ето пример с отрицателна времева стойност:

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

Резултат:

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

Времена извън обхвата

Предоставянето на времева стойност извън диапазона обаче ще върне секундите за горната граница на този диапазон, заедно с предупреждение:

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

Резултат:

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

Нека проверим предупреждението:

SHOW WARNINGS;

Резултат:

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

Невалиден аргумент

Когато се подадат невалидни аргументи, TIME_TO_SEC() връща null с предупреждение:

SELECT TIME_TO_SEC('Homer');

Резултат:

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

Проверете предупреждението:

SHOW WARNINGS;

Резултат:

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

Липсващ аргумент

Извикване на TIME_TO_SEC() с грешен брой аргументи или без подаване на аргументи, води до грешка:

SELECT TIME_TO_SEC();

Резултат:

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

И още един пример:

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

Резултат:

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. Какво е MariaDB Enterprise и как да го управляваме с ClusterControl?

  2. 8 начина за добавяне на секунди към стойност за дата и час в MariaDB

  3. Как работи LOCATE() в MariaDB

  4. Как BIN() работи в MariaDB

  5. MariaDB въвежда функция JSON_TABLE().