In MariaDB, PERIOD_DIFF()
è una funzione di data e ora incorporata che restituisce il numero di mesi tra due periodi.
Sintassi
La sintassi è questa:
PERIOD_DIFF(P1,P2)
Dove P1
e P2
sono i periodi tra i quali fare la differenza.
Entrambi gli argomenti sono nel formato AAMM o AAAAMM. Non sono valori di data.
Esempio
Ecco un esempio:
SELECT PERIOD_DIFF(202108, 202101);
Risultato:
+-----------------------------+ | PERIOD_DIFF(202108, 202101) | +-----------------------------+ | 7 | +-----------------------------+
In questo esempio, ci sono sette mesi di differenza tra i due periodi.
Cambia l'ordine
Se il primo periodo è precedente al secondo, il risultato è un valore negativo.
Ecco cosa succede quando cambio l'ordine degli argomenti nell'esempio precedente:
SELECT PERIOD_DIFF(202101, 202108);
Risultato:
+-----------------------------+ | PERIOD_DIFF(202101, 202108) | +-----------------------------+ | -7 | +-----------------------------+
Anni a due cifre
Se uno qualsiasi degli argomenti contiene un anno a due cifre, i valori da 00 a 69 vengono convertiti da 2000 a 2069, mentre i valori da 70 vengono convertiti da 1970 in su.
Esempio:
SELECT
PERIOD_DIFF(6911, 6912),
PERIOD_DIFF(6911, 7001);
Risultato:
+-------------------------+-------------------------+ | PERIOD_DIFF(6911, 6912) | PERIOD_DIFF(6911, 7001) | +-------------------------+-------------------------+ | -1 | 1198 | +-------------------------+-------------------------+
Argomento mancante
Chiamando PERIOD_DIFF()
con il numero errato di argomenti, o senza passare alcun argomento, si verifica un errore:
SELECT PERIOD_DIFF();
Risultato:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'
E un altro esempio:
SELECT PERIOD_DIFF( 6912 );
Risultato:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'