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

Hvordan PERIOD_ADD() virker i MariaDB

I MariaDB, PERIOD_ADD() er en indbygget dato- og klokkeslætsfunktion, der tilføjer et givet antal måneder til en tidsperiode.

Returværdien er i formatet ÅÅÅÅMM.

Syntaks

Syntaksen ser sådan ud:

PERIOD_ADD(P,N)

Hvor P er perioden og N er antallet af måneder, der skal tilføjes.

P er i formatet ÅÅMM eller ÅÅÅÅMM og er ikke en datoværdi.

Eksempel

Her er et eksempel:

SELECT PERIOD_ADD(202011, 1);

Resultat:

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

Dette eksempel føjede en måned til perioden.

Her er en, der føjer seks måneder til perioden:

SELECT PERIOD_ADD(202011, 6);

Resultat:

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

Tocifrede år

Hvis det første argument indeholder et tocifret årstal, konverteres værdier fra 00 til 69 til fra 2000 til 2069, mens værdier fra 70 konverteres til 1970 og opefter.

Eksempel:

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

Resultat:

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

Den første vendte tilbage et år 2069 og den anden 1970.

Manglende argument

Kalder PERIOD_ADD() med det forkerte antal argumenter, eller uden at sende nogen argumenter, resulterer det i en fejl:

SELECT PERIOD_ADD();

Resultat:

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

Og endnu et eksempel:

SELECT PERIOD_ADD( 2010 );

Resultat:

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

  1. Opgradering af en varchar-kolonne til enum type i postgresql

  2. SQL Server 2016 Temporal Table Query Plan Behavior

  3. Får du ugenummer fra en dato i MS SQL Server 2005?

  4. Hvordan henter man den første og sidste post af en grupperet post i en MySQL-forespørgsel med aggregerede funktioner?