En MariaDB, PERIOD_DIFF()
es una función de fecha y hora integrada que devuelve el número de meses entre dos períodos.
Sintaxis
La sintaxis es así:
PERIOD_DIFF(P1,P2)
Donde P1
y P2
son los períodos para obtener la diferencia entre ellos.
Ambos argumentos tienen el formato AAAA o AAAAMM. No son valores de fecha.
Ejemplo
He aquí un ejemplo:
SELECT PERIOD_DIFF(202108, 202101);
Resultado:
+-----------------------------+ | PERIOD_DIFF(202108, 202101) | +-----------------------------+ | 7 | +-----------------------------+
En este ejemplo, hay una diferencia de siete meses entre los dos períodos.
Cambiar el orden
Si el primer período es anterior al segundo, el resultado es un valor negativo.
Esto es lo que sucede cuando cambio el orden de los argumentos en el ejemplo anterior:
SELECT PERIOD_DIFF(202101, 202108);
Resultado:
+-----------------------------+ | PERIOD_DIFF(202101, 202108) | +-----------------------------+ | -7 | +-----------------------------+
Años de dos dígitos
Si alguno de los argumentos contiene un año de dos dígitos, los valores del 00 al 69 se convierten del 2000 al 2069, mientras que los valores del 70 se convierten del 1970 en adelante.
Ejemplo:
SELECT
PERIOD_DIFF(6911, 6912),
PERIOD_DIFF(6911, 7001);
Resultado:
+-------------------------+-------------------------+ | PERIOD_DIFF(6911, 6912) | PERIOD_DIFF(6911, 7001) | +-------------------------+-------------------------+ | -1 | 1198 | +-------------------------+-------------------------+
Argumento faltante
Llamando a PERIOD_DIFF()
con el número incorrecto de argumentos, o sin pasar ningún argumento, da como resultado un error:
SELECT PERIOD_DIFF();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'
Y otro ejemplo:
SELECT PERIOD_DIFF( 6912 );
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'