No MariaDB,
MONTH() é uma função interna de data e hora que retorna o mês de uma determinada expressão de data. Ele aceita um argumento, que é a data da qual você deseja extrair o mês.
Ele retorna o mês como um número no intervalo
1 para 12 para janeiro a dezembro. Se a data tiver uma parte de zero mês (por exemplo, 0000-00-00 ou 2025-00-00 ), o resultado é 0 . Sintaxe
A sintaxe fica assim:
MONTH(date) Onde
date é a expressão de data da qual obter o mês. Exemplo
Aqui está um exemplo:
SELECT MONTH('2030-08-01'); Resultado:
+----------+| MONTH('2030-08-01') |+---------------------+| 8 |+---------------------+ Valores de data e hora
Também funciona com valores de data e hora:
SELECT MONTH('2030-08-01 10:30:45'); Resultado:
+------------------------------+| MONTH('2030-08-01 10:30:45') |+------------------------------+| 8 |+-----------------------------+ Zero Meses
Zero meses resultam em
0 . Exemplo:
SELECT MONTH('2030-00-00'); Resultado:
+----------+| MONTH('2030-00-00') |+---------------------+| 0 |+---------------------+ Datas numéricas
Também é possível passar datas como um número, desde que faça sentido como uma data.
Exemplo
SELECT MONTH(20301125); Resultado:
+-----------------+| MÊS(20301125) |+-----------------+| 11 |+-----------------+
Ou mesmo o seguinte (que usa um ano de dois dígitos):
SELECT MONTH(301125); Resultado:
+---------------+| MÊS(301125) |+---------------+| 11 |+---------------+
Mas deve fazer sentido como uma data. Veja o que acontece se eu aumentar a parte do dia para um dia inválido:
SELECT MONTH(20301135); Resultado:
+-----------------+| MÊS(20301135) |+-----------------+| NULO |+-----------------+
Outros delimitadores
Você pode usar outros delimitadores para a data. O MariaDB é bastante tolerante quando se trata de delimitadores de datas. Aqui estão alguns exemplos válidos:
SELECT
MONTH('2030/06/25'),
MONTH('2030,06,25'),
MONTH('2030:06:25'),
MONTH('2030;06!25'); Resultado (usando saída vertical):
MÊS('2030/06/25'):6MÊS('2030,06,25'):6MÊS('2030:06:25'):6MÊS('2030;06!25'):6 Data atual
Podemos passar NOW() como argumento datetime para usar a data atual:
SELECT
NOW(),
MONTH(NOW());
Resultado:
+----------+--------------+| AGORA() | MÊS(AGORA()) |+---------------------+-------------+| 2021-05-16 15:00:06 | 5 |+---------------------+--------------+
Argumentos inválidos
Quando passado um argumento inválido, MONTH() retorna null :
SELECT MONTH('2030-65-78');
Resultado:
+----------+| MONTH('2030-65-78') |+---------------------+| NULL |+---------------------+ Argumento ausente
Chamando MONTH() com o número errado de argumentos, ou sem passar nenhum argumento, resulta em um erro:
SELECT MONTH();
Resultado:
ERRO 1064 (42000):Você tem um erro na sintaxe SQL; verifique o manual que corresponde à versão do seu servidor MariaDB para a sintaxe correta para usar perto de ')' na linha 1
E outro exemplo:
SELECT MONTH('2030-12-10', '2031-12-10');
Resultado:
ERRO 1064 (42000):Você tem um erro na sintaxe SQL; verifique o manual que corresponde à sua versão do servidor MariaDB para a sintaxe correta para usar perto de ' '2031-12-10')' na linha 1