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

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

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

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

За стойности за времето от деня той връща часа като число в диапазона 0 до 23 . Въпреки това, диапазонът от TIME стойностите могат да бъдат много по-големи и следователно върнатата стойност може да бъде много по-висока от 23 .

Връщаната стойност винаги е положителна, дори ако е предоставено отрицателно време.

Синтаксис

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

HOUR(time) 

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

Пример

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

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

Резултат:

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

Стойности за дата и час

Работи и със стойности за дата и час:

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

Резултат:

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

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

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

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

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

Резултат:

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

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

Отрицателните времена връщат положителен резултат.

Пример

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

Резултат:

+-------------------+| ЧАС('-578:30:45') |+-------------------+| 578 |+-------------------+

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

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

Пример:

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

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

+------------------+| ЧАС('978:30:45') |+-------------------+| 838 |+------------------+

Текуща дата

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

SELECT 
    NOW(),
    HOUR(NOW()); 

Резултат:

<пред>+---------------------+------------+| СЕГА() | ЧАС(СЕГА()) |+---------------------+------------+| 16.05.2021 10:50:02 | 10 |+---------------------+------------+

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

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

SELECT HOUR('Ten Thirty AM'); 

Резултат:

<пред>+-----------------------+| HOUR('Десет и тридесет сутринта') |+-----------------------+| NULL |+-----------------------+

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

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

SELECT HOUR(); 

Резултат:

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

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

SELECT HOUR('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. Използване на MyRocks Storage Engine с MariaDB сървър

  2. Как да подобрим производителността на репликация в MySQL или MariaDB Galera клъстер

  3. Как да върнете елементи от JSON масив в MariaDB

  4. Как да надстроите MariaDB 5.5 до MariaDB 10.1 на CentOS/RHEL 7 и Debian системи

  5. 2 начина за връщане на редове, които съдържат само буквено-цифрови знаци в MariaDB