I MariaDB, PERIOD_DIFF()
er en indbygget dato- og tidsfunktion, der returnerer antallet af måneder mellem to perioder.
Syntaks
Syntaksen ser sådan ud:
PERIOD_DIFF(P1,P2)
Hvor P1
og P2
er perioderne at få forskellen mellem.
Begge argumenter er i formatet ÅÅMM eller ÅÅÅÅMM. De er ikke datoværdier.
Eksempel
Her er et eksempel:
SELECT PERIOD_DIFF(202108, 202101);
Resultat:
+-----------------------------+ | PERIOD_DIFF(202108, 202101) | +-----------------------------+ | 7 | +-----------------------------+
I dette eksempel er der syv måneders forskel mellem de to perioder.
Skift ordren
Hvis den første periode er en tidligere periode til den anden, er resultatet en negativ værdi.
Her er, hvad der sker, når jeg skifter rækkefølgen af argumenterne i det forrige eksempel:
SELECT PERIOD_DIFF(202101, 202108);
Resultat:
+-----------------------------+ | PERIOD_DIFF(202101, 202108) | +-----------------------------+ | -7 | +-----------------------------+
Tocifrede år
Hvis nogle af argumenterne 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_DIFF(6911, 6912),
PERIOD_DIFF(6911, 7001);
Resultat:
+-------------------------+-------------------------+ | PERIOD_DIFF(6911, 6912) | PERIOD_DIFF(6911, 7001) | +-------------------------+-------------------------+ | -1 | 1198 | +-------------------------+-------------------------+
Manglende argument
Kalder PERIOD_DIFF()
med det forkerte antal argumenter, eller uden at sende nogen argumenter, resulterer det i en fejl:
SELECT PERIOD_DIFF();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'
Og endnu et eksempel:
SELECT PERIOD_DIFF( 6912 );
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'