sql >> Database >  >> RDS >> MariaDB

Hoe PERIOD_ADD() werkt in MariaDB

In MariaDB, PERIOD_ADD() is een ingebouwde datum- en tijdfunctie die een bepaald aantal maanden toevoegt aan een periode in de tijd.

De geretourneerde waarde heeft de indeling JJJJMM.

Syntaxis

De syntaxis gaat als volgt:

PERIOD_ADD(P,N)

Waar P is de punt en N is het aantal maanden dat eraan moet worden toegevoegd.

P heeft de indeling JJMM of JJJJMM en is geen datumwaarde.

Voorbeeld

Hier is een voorbeeld:

SELECT PERIOD_ADD(202011, 1);

Resultaat:

+-----------------------+
| PERIOD_ADD(202011, 1) |
+-----------------------+
|                202012 |
+-----------------------+

Dat voorbeeld voegde een maand toe aan de periode.

Hier is er een die zes maanden aan de periode toevoegt:

SELECT PERIOD_ADD(202011, 6);

Resultaat:

+-----------------------+
| PERIOD_ADD(202011, 6) |
+-----------------------+
|                202105 |
+-----------------------+

Tweecijferige jaartallen

Als het eerste argument een jaartal van twee cijfers bevat, worden waarden van 00 tot 69 geconverteerd naar 2000 tot 2069, terwijl waarden vanaf 70 worden geconverteerd naar 1970.

Voorbeeld:

SELECT 
    PERIOD_ADD(6910, 2),
    PERIOD_ADD(7010, 2);

Resultaat:

+---------------------+---------------------+
| PERIOD_ADD(6910, 2) | PERIOD_ADD(7010, 2) |
+---------------------+---------------------+
|              206912 |              197012 |
+---------------------+---------------------+

De eerste keerde terug in het jaar 2069 en de tweede in 1970.

Ontbrekend argument

Bellen PERIOD_ADD() met het verkeerde aantal argumenten, of zonder het doorgeven van argumenten, resulteert in een fout:

SELECT PERIOD_ADD();

Resultaat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_ADD'

En nog een voorbeeld:

SELECT PERIOD_ADD( 2010 );

Resultaat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_ADD'

  1. SYSDATE-functie in Oracle

  2. Uitdagingen bij het schalen van de Moodle MySQL-database

  3. Hoe eventuele Postgres rijsloten losmaken?

  4. PostgreSQL traceren met perf