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

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

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

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

Връща месеца като число в диапазона 1 до 12 от януари до декември. Ако датата има част от нула месеца (напр. 0000-00-00 или 2025-00-00 ), резултатът е 0 .

Синтаксис

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

MONTH(date)

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

Пример

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

SELECT MONTH('2030-08-01');

Резултат:

+---------------------+
| MONTH('2030-08-01') |
+---------------------+
|                   8 |
+---------------------+

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

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

SELECT MONTH('2030-08-01 10:30:45');

Резултат:

+------------------------------+
| MONTH('2030-08-01 10:30:45') |
+------------------------------+
|                            8 |
+------------------------------+

Нула месеца

Нула месеца води до 0 .

Пример:

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

Резултат:

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

Числови дати

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

Пример

SELECT MONTH(20301125);

Резултат:

+-----------------+
| MONTH(20301125) |
+-----------------+
|              11 |
+-----------------+

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

SELECT MONTH(301125);

Резултат:

+---------------+
| MONTH(301125) |
+---------------+
|            11 |
+---------------+

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

SELECT MONTH(20301135);

Резултат:

+-----------------+
| MONTH(20301135) |
+-----------------+
|            NULL |
+-----------------+

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

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

SELECT 
    MONTH('2030/06/25'),
    MONTH('2030,06,25'),
    MONTH('2030:06:25'),
    MONTH('2030;06!25');

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

MONTH('2030/06/25'): 6
MONTH('2030,06,25'): 6
MONTH('2030:06:25'): 6
MONTH('2030;06!25'): 6
MONTH('2030/06/25'):предварително>

Текуща дата

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

SELECT 
    NOW(),
    MONTH(NOW());

Резултат:

+---------------------+--------------+
| NOW()               | MONTH(NOW()) |
+---------------------+--------------+
| 2021-05-16 15:00:06 |            5 |
+---------------------+--------------+

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

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

SELECT MONTH('2030-65-78');

Резултат:

+---------------------+
| MONTH('2030-65-78') |
+---------------------+
|                NULL |
+---------------------+

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

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

SELECT MONTH();

Резултат:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

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

SELECT MONTH('2030-12-10', '2031-12-10');

Резултат:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '2031-12-10')' at line 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. Използване на MariaDB Audit Plugin за сигурност на базата данни

  2. Как работи MID() в MariaDB

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

  4. MariaDB идва в град близо до вас!

  5. Изберете Всичко преди или след определен символ в MariaDB