MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak ADD_MONTHS() działa w MariaDB

W MariaDB, ADD_MONTHS() to wbudowana funkcja daty i czasu, która dodaje do daty podaną liczbę miesięcy i zwraca wynik.

Data może być wartością daty, daty i godziny lub znacznika czasu.

Ta funkcja została wprowadzona w MariaDB 10.6.1 w celu zwiększenia zgodności z Oracle. Istnieje co najmniej 6 innych sposobów dodawania miesięcy do daty w MariaDB.

Składnia

Składnia wygląda tak:

ADD_MONTHS(date, months)

Gdzie date to data i months to liczba miesięcy, które należy do niej dodać.

Przykład

Oto przykład:

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

Wynik:

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

Odejmij miesiące

Aby odjąć miesiące od daty, użyj wartości ujemnej dla drugiego argumentu.

Przykład:

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

Wynik:

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

Kontekst numeryczny

W razie potrzeby datę można podać w postaci liczbowej:

SELECT ADD_MONTHS(20200101, 3);

Wynik:

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

Nieprawidłowe daty

Jeśli data jest nieprawidłowa, ADD_MONTHS() zwraca null z ostrzeżeniem:

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

Wynik:

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

Sprawdźmy ostrzeżenie:

SHOW WARNINGS;

Wynik:

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

Argumenty zerowe

ADD_MONTHS() zwraca null jeśli jakikolwiek argument jest null :

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

Wynik:

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

Nieprawidłowa liczba argumentów

Przekazanie nieprawidłowej liczby argumentów skutkuje błędem:

SELECT ADD_MONTHS(3);

Wynik:

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. 3 sposoby na posortowanie kolumny w MariaDB

  2. Jak STRCMP() działa w MariaDB

  3. Jak CURTIME() działa w MariaDB

  4. Ciągi formatu daty MariaDB

  5. Jak działa RTRIM() w MariaDB