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

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

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

Датата може да бъде стойност за дата, час или време.

Тази функция е въведена в MariaDB 10.6.1 за подобряване на съвместимостта с Oracle. Има поне 6 други начина за добавяне на месеци към дата в MariaDB.

Синтаксис

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

ADD_MONTHS(date, months)

Където date е датата и months е броят на месеците за добавяне към него.

Пример

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

SELECT ADD_MONTHS('2020-01-01', 3);

Резултат:

+-----------------------------+
| ADD_MONTHS('2020-01-01', 3) |
+-----------------------------+
| 2020-04-01                  |
+-----------------------------+

Извадете месеците

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

Пример:

SELECT ADD_MONTHS('2020-01-01', -3);

Резултат:

+------------------------------+
| ADD_MONTHS('2020-01-01', -3) |
+------------------------------+
| 2019-10-01                   |
+------------------------------+

Числов контекст

Датата може да бъде предоставена в цифров вид, ако е необходимо:

SELECT ADD_MONTHS(20200101, 3);

Резултат:

+-------------------------+
| ADD_MONTHS(20200101, 3) |
+-------------------------+
| 2020-04-01              |
+-------------------------+

Невалидни дати

Ако датата е невалидна, ADD_MONTHS() връща null с предупреждение:

SELECT ADD_MONTHS('2020-01-51', 3);

Резултат:

+-----------------------------+
| ADD_MONTHS('2020-01-51', 3) |
+-----------------------------+
| NULL                        |
+-----------------------------+
1 row in set, 1 warning (0.003 sec)

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

SHOW WARNINGS;

Резултат:

+---------+------+----------------------------------------+
| Level   | Code | Message                                |
+---------+------+----------------------------------------+
| Warning | 1292 | Incorrect datetime value: '2020-01-51' |
+---------+------+----------------------------------------+

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

ADD_MONTHS() връща null ако някой аргумент е null :

SELECT ADD_MONTHS('2020-01-01', null);

Резултат:

+--------------------------------+
| ADD_MONTHS('2020-01-01', null) |
+--------------------------------+
| NULL                           |
+--------------------------------+

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

Предаването на невалиден брой аргументи води до грешка:

SELECT ADD_MONTHS(3);

Резултат:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как CONCAT() работи в MariaDB

  2. ClusterControl 1.5 - Автоматична проверка на архивиране, изграждане на подчинен от архивиране и интеграция в облак

  3. Моята MySQL база данни е извън дисковото пространство

  4. Представяме ви платформата MariaDB X5:базата данни за всяко работно натоварване, вече във всякакъв мащаб

  5. ProxySQL собствени клъстери с Kubernetes