No MariaDB,
PERIOD_DIFF()
é uma função interna de data e hora que retorna o número de meses entre dois períodos. Sintaxe
A sintaxe fica assim:
PERIOD_DIFF(P1,P2)
Onde
P1
e P2
são os períodos para obter a diferença entre. Ambos os argumentos estão no formato YYMM ou YYYYMM. Eles não são valores de data.
Exemplo
Aqui está um exemplo:
SELECT PERIOD_DIFF(202108, 202101);
Resultado:
+-----------------------------+ | PERIOD_DIFF(202108, 202101) | +-----------------------------+ | 7 | +-----------------------------+
Neste exemplo, há sete meses de diferença entre os dois períodos.
Mudar o pedido
Se o primeiro período for um período anterior ao segundo, o resultado será um valor negativo.
Veja o que acontece quando mudo a ordem dos argumentos no exemplo anterior:
SELECT PERIOD_DIFF(202101, 202108);
Resultado:
+-----------------------------+ | PERIOD_DIFF(202101, 202108) | +-----------------------------+ | -7 | +-----------------------------+
Anos de dois dígitos
Se algum dos argumentos contiver um ano de dois dígitos, os valores de 00 a 69 serão convertidos de 2000 a 2069, enquanto os valores de 70 serão convertidos de 1970 para cima.
Exemplo:
SELECT
PERIOD_DIFF(6911, 6912),
PERIOD_DIFF(6911, 7001);
Resultado:
+-------------------------+-------------------------+ | PERIOD_DIFF(6911, 6912) | PERIOD_DIFF(6911, 7001) | +-------------------------+-------------------------+ | -1 | 1198 | +-------------------------+-------------------------+
Argumento ausente
Chamando
PERIOD_DIFF()
com o número errado de argumentos, ou sem passar nenhum argumento, resulta em um erro:SELECT PERIOD_DIFF();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'
E outro exemplo:
SELECT PERIOD_DIFF( 6912 );
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'