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

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

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

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

Резултатът е в диапазона 1 до 31 . Въпреки това, ако датата има част от нулев ден (например '0000-00-00' или '2021-00-00' ), резултатът е 0 .

Синтаксис

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

DAYOFMONTH(date) 

Където date е датата, от която да извлечете деня.

Пример

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

SELECT DAYOFMONTH('2030-01-25'); 

Резултат:

+-------------------------+| DAYOFMONTH('2030-01-25') |+--------------------------+| 25 |+-------------------------+

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

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

SELECT DAYOFMONTH('2030-01-25 10:30:45'); 

Резултат:

+---------------------------------+| DAYOFMONTH('2030-01-25 10:30:45') |+-------------------------------- --+| 25 |+----------------------------------+

Нула дни

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

SELECT DAYOFMONTH('2030-00-00'); 

Резултат:

+-------------------------+| DAYOFMONTH('2030-00-00') |+--------------------------+| 0 |+-------------------------+

Числови дати

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

Пример

SELECT DAYOFMONTH(20300125); 

Резултат:

+---------------------+| DAYOFMONTH(20300125) |+---------------------+| 25 |+----------------------+

Или дори следното (което използва двуцифрена година):

SELECT DAYOFMONTH(300125); 

Резултат:

+-------------------+| ДЕН МЕСЕЦ(300125) |+-------------------+| 25 |+-------------------+

Но трябва да има смисъл като среща. Ето какво се случва, ако увелича частта от деня до невалиден ден:

SELECT DAYOFMONTH(20300135); 

Резултат:

+---------------------+| DAYOFMONTH(20300135) |+---------------------+| NULL |+----------------------+

Други ограничители

Можете да използвате други разделители за датата. MariaDB е доста прощаваща, когато става въпрос за разделители на дати. Ето няколко валидни примера:

SELECT 
    DAYOFMONTH('2030/01/25'),
    DAYOFMONTH('2030,01,25'),
    DAYOFMONTH('2030:01:25'),
    DAYOFMONTH('2030;01!25'); 

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

DAYOFMONTH('2030/01/25'):25DAYOFMONTH('2030,01,25'):25DAYOFMONTH('2030:01:25'):25DAYOFMONTH('2030;01!25'):25 

Текуща дата

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

SELECT 
    NOW(),
    DAYOFMONTH(NOW()); 

Резултат:

<пред>+---------------------+-------------------+| СЕГА() | ДЕН МЕСЕЦ(СЕГА()) |+---------------------+-------------------+ | 2021-05-13 09:02:41 | 13 |+---------------------+---------------------+

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

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

SELECT DAYOFMONTH('Homer'); 

Резултат:

+---------------------+| DAYOFMONTH('Homer') |+---------------------+| NULL |+---------------------+

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

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

SELECT DAYOFMONTH(); 

Резултат:

ГРЕШКА 1582 (42000):Неправилен брой на параметрите в извикването на естествената функция „DAYOFMONTH“

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

SELECT DAYOFMONTH('2030-01-25', '2045-05-08'); 

Резултат:

ГРЕШКА 1582 (42000):Неправилен брой на параметрите в извикването на естествената функция „DAYOFMONTH“

  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 JSON_LOOSE() Обяснено

  2. MariaDB CURRENT_USER() Обяснено

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

  4. Засегнат ли е драйверът на MariaDB JDBC от уязвимостта Log4j?

  5. Как работи операторът LIKE в MariaDB