In MariaDB, PERIOD_DIFF()
ist eine integrierte Datums- und Uhrzeitfunktion, die die Anzahl der Monate zwischen zwei Perioden zurückgibt.
Syntax
Die Syntax lautet wie folgt:
PERIOD_DIFF(P1,P2)
Wobei P1
und P2
sind die Perioden, zwischen denen die Differenz ermittelt werden soll.
Beide Argumente haben das Format JJMM oder JJJJMM. Sie sind keine Datumswerte.
Beispiel
Hier ist ein Beispiel:
SELECT PERIOD_DIFF(202108, 202101);
Ergebnis:
+-----------------------------+ | PERIOD_DIFF(202108, 202101) | +-----------------------------+ | 7 | +-----------------------------+
In diesem Beispiel liegen sieben Monate zwischen den beiden Zeiträumen.
Ändern Sie die Reihenfolge
Wenn die erste Periode eine frühere Periode als die zweite ist, ist das Ergebnis ein negativer Wert.
Folgendes passiert, wenn ich die Reihenfolge der Argumente im vorherigen Beispiel ändere:
SELECT PERIOD_DIFF(202101, 202108);
Ergebnis:
+-----------------------------+ | PERIOD_DIFF(202101, 202108) | +-----------------------------+ | -7 | +-----------------------------+
Zweistellige Jahreszahlen
Wenn eines der Argumente eine zweistellige Jahreszahl enthält, werden Werte von 00 bis 69 in 2000 bis 2069 konvertiert, während Werte von 70 in 1970 aufwärts konvertiert werden.
Beispiel:
SELECT
PERIOD_DIFF(6911, 6912),
PERIOD_DIFF(6911, 7001);
Ergebnis:
+-------------------------+-------------------------+ | PERIOD_DIFF(6911, 6912) | PERIOD_DIFF(6911, 7001) | +-------------------------+-------------------------+ | -1 | 1198 | +-------------------------+-------------------------+
Fehlendes Argument
Aufruf von PERIOD_DIFF()
mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:
SELECT PERIOD_DIFF();
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'
Und noch ein Beispiel:
SELECT PERIOD_DIFF( 6912 );
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'