I MariaDB, PERIOD_DIFF()
är en inbyggd datum- och tidsfunktion som returnerar antalet månader mellan två perioder.
Syntax
Syntaxen ser ut så här:
PERIOD_DIFF(P1,P2)
Där P1
och P2
är perioderna att få skillnaden mellan.
Båda argumenten har formatet ÅÅMM eller ÅÅÅÅMM. De är inte datumvärden.
Exempel
Här är ett exempel:
SELECT PERIOD_DIFF(202108, 202101);
Resultat:
+-----------------------------+ | PERIOD_DIFF(202108, 202101) | +-----------------------------+ | 7 | +-----------------------------+
I det här exemplet är det sju månaders skillnad mellan de två perioderna.
Byt beställning
Om den första perioden är en tidigare period till den andra, är resultatet ett negativt värde.
Så här händer när jag ändrar ordningen på argumenten i föregående exempel:
SELECT PERIOD_DIFF(202101, 202108);
Resultat:
+-----------------------------+ | PERIOD_DIFF(202101, 202108) | +-----------------------------+ | -7 | +-----------------------------+
Tvåsiffriga år
Om något av argumenten innehåller ett tvåsiffrigt årtal konverteras värden från 00 till 69 till från 2000 till 2069, medan värden från 70 konverteras till 1970 och uppåt.
Exempel:
SELECT
PERIOD_DIFF(6911, 6912),
PERIOD_DIFF(6911, 7001);
Resultat:
+-------------------------+-------------------------+ | PERIOD_DIFF(6911, 6912) | PERIOD_DIFF(6911, 7001) | +-------------------------+-------------------------+ | -1 | 1198 | +-------------------------+-------------------------+
Argument saknas
Anropar PERIOD_DIFF()
med fel antal argument, eller utan att skicka några argument, resulterar i ett fel:
SELECT PERIOD_DIFF();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'
Och ett annat exempel:
SELECT PERIOD_DIFF( 6912 );
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'