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

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

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

Той приема един аргумент, който е стойността за час или дата и час, за които искате да извлечете часа.

Синтаксис

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

TIME(expr) 

Където expr е изразът за час или дата и час, за който да се извлече времето.

Пример

Ето пример за демонстрация:

SELECT TIME('2030-02-01 10:30:45'); 

Резултат:

+----------------------------+| TIME('2030-02-01 10:30:45') |+----------------------------+| 10:30:45 |+----------------------------+

Времени стойности

Ето пример, който извлича времето от времева стойност:

SELECT TIME('10:30:45'); 

Резултат:

+-----------------+| TIME('10:30:45') |+-----------------+| 10:30:45 |+-----------------+

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

Ето пример, който включва микросекунди:

SELECT TIME('2030-02-01 10:30:45.123456'); 

Резултат:

+----------------------------------+| TIME('2030-02-01 10:30:45.123456') |+-------------------------------- ---+| 10:30:45.123456 |+------------------------------------------------+

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

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

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

SELECT TIME('578:30:45'); 

Резултат:

+------------------+| TIME('578:30:45') |+------------------+| 578:30:45 |+------------------+

Отрицателни времена

Отрицателните времена са валидни:

Пример

SELECT TIME('-578:30:45'); 

Резултат:

+-------------------+| TIME('-578:30:45') |+-------------------+| -578:30:45 |+-------------------+

Часове извън обхват

Стойности за време извън диапазона '-838:59:59.999999' до '838:59:59.999999' са ограничени до съответната граница и включват предупреждение.

Пример:

SELECT TIME('978:30:45'); 

Резултат (с помощта на вертикален изход):

+------------------+| TIME('978:30:45') |+------------------+| 838:59:59 |+------------------+1 ред в комплект, 1 предупреждение (0,003 сек)

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

SHOW WARNINGS; 

Резултат (с помощта на вертикален изход):

+--------+------+---------------------------- ----------------+| Ниво | Код | Съобщение |+--------+------+------------------------------ ---------------+| Предупреждение | 1292 | Съкратена неправилна стойност на времето:'978:30:45' |+---------+------+------------------- ----------------------------------+

Текуща дата

Можем да предадем NOW() като аргумент datetime за използване на текущото време:

SELECT 
    NOW(),
    TIME(NOW()); 

Резултат:

<пред>+---------------------+------------+| СЕГА() | ВРЕМЕ(СЕГА()) |+---------------------+------------+| 27.05.2021 10:24:23 | 10:24:23 |+---------------------+------------+

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

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

SELECT TIME('Ten Thirty AM'); 

Резултат:

<пред>+-----------------------+| TIME('Десет и тридесет сутринта') |+-----------------------+| NULL |+-----------------------+1 ред в комплект, 1 предупреждение (0,002 сек.)

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

SHOW WARNINGS; 

Резултат:

+--------+------+---------------------------- ----------+| Ниво | Код | Съобщение |+--------+------+------------------------------ ---------+| Предупреждение | 1292 | Неправилна стойност на времето:'Ten Thirty AM' |+---------+------+--------------------- -----------------+

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

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

SELECT TIME(); 

Резултат:

ГРЕШКА 1064 (42000):Имате грешка във вашия SQL синтаксис; проверете ръководството, което съответства на вашата версия на сървъра на MariaDB за правилния синтаксис, който да използвате близо до ')' на ред 1

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

SELECT TIME('10:30:45', '06:30:45'); 

Резултат:

ГРЕШКА 1064 (42000):Имате грешка във вашия SQL синтаксис; проверете ръководството, което съответства на вашата версия на сървъра на MariaDB за правилния синтаксис, който да използвате близо до „06:30:45“)“ на ред 1

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DBaaS, облачно и прозрачно маршрутизиране на заявки

  2. Как да извадите часове от стойност на дата и час в MariaDB

  3. Как да върнете номера на деня с суфикс в MariaDB

  4. MySQL репликация с ProxySQL на WHM/cPanel сървъри:Част втора

  5. Инсталиране на Laravel на Ubuntu с поддръжка на Apache, MariaDB и PHP