sql >> Database teknologi >  >> RDS >> MariaDB

Sådan fungerer ADD_MONTHS() i MariaDB

I MariaDB, ADD_MONTHS() er en indbygget dato- og tidsfunktion, der tilføjer et givet antal måneder til en dato og returnerer resultatet.

Datoen kan være en dato-, datetime- eller tidsstempelværdi.

Denne funktion blev introduceret i MariaDB 10.6.1 for at forbedre Oracle-kompatibiliteten. Der er mindst 6 andre måder at tilføje måneder til en dato i MariaDB.

Syntaks

Syntaksen ser sådan ud:

ADD_MONTHS(date, months)

Hvor date er datoen og months er antallet af måneder, der skal tilføjes.

Eksempel

Her er et eksempel:

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

Resultat:

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

Fratræk måneder

For at trække måneder fra en dato skal du bruge en negativ værdi for det andet argument.

Eksempel:

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

Resultat:

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

Numerisk kontekst

Datoen kan angives i numerisk form, hvis det kræves:

SELECT ADD_MONTHS(20200101, 3);

Resultat:

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

Ugyldige datoer

Hvis datoen er ugyldig, ADD_MONTHS() returnerer null med en advarsel:

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

Resultat:

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

Lad os tjekke advarslen:

SHOW WARNINGS;

Resultat:

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

Nul-argumenter

ADD_MONTHS() returnerer null hvis et argument er null :

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

Resultat:

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

Ugyldigt antal argumenter

Sende et ugyldigt antal argumenter resulterer i en fejl:

SELECT ADD_MONTHS(3);

Resultat:

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. Sådan tjekker du versionen af ​​oracle provider til ole-db. OraOLEDB.Oracle udbyder

  2. ScaleGrid lancerer Google Cloud Platform (GCP) Support til Managed Database Hosting

  3. PDO-understøttelse af flere forespørgsler (PDO_MYSQL, PDO_MYSQLND)

  4. Introduktion af ny funktion - Spotlight Cloud Replication