Função MySQL MÊS()

Resumo : neste tutorial você aprenderá como usar a MONTH()função MySQL para obter o mês de uma determinada data.

Introdução à função MySQL MONTH()

A MONTHfunção retorna um número inteiro que representa o mês de uma data especificada. O seguinte ilustra a sintaxe da MONTHfunção:

MONTH(date);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A MONTHfunção aceita um argumento que é um valor DATEou DATETIME. Retorna um número inteiro que varia de 1 a 12, que representa janeiro a dezembro.

A MONTH()função retorna NULLse a data for NULL. Além disso, retorna zero, se a data for zero ( 0000-00-00).

Exemplos de funções MySQL MONTH()

Vejamos alguns exemplos de uso da função MONTH()

1) Exemplos simples de funções Month()

O exemplo a seguir usa a MONTH()função para obter o mês de 2010-01-01:

SELECT MONTH('2010-01-01');Linguagem de código:  JavaScript  ( javascript )

Saída:

+---------------------+
| MONTH('2010-01-01') |
+---------------------+
|                   1 |
+---------------------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Para obter o mês atual, você usa a MONTH()função com a NOW()função mostrada na instrução a seguir:

SELECT MONTH(NOW()) CURRENT_MONTH;

Saída:

+---------------+
| CURRENT_MONTH |
+---------------+
|            10 |
+---------------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Como funciona.

  • Primeiro, use a NOW()função para obter a data e hora atuais.
  • Segundo, passe a data e hora atuais para a MONTH()função para obter o mês atual.

O seguinte mostra como usar a MONTHfunction() com data zero:

SELECT MONTH('0000-00-00');Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Ele retorna 0:

+---------------------+
| MONTH('0000-00-00') |
+---------------------+
|                   0 |
+---------------------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

O exemplo a seguir usa MONTHfunção com NULLdata:

SELECT MONTH(NULL);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+-------------+
| MONTH(NULL) |
+-------------+
|        NULL |
+-------------+
1 row in set (0.00 sec)Linguagem de código:  texto simples  ( texto simples )

2) Usando a função MONTH() com dados da tabela

Usaremos as tabelas orderse orderdetailsno banco de dados de exemplo :

O demonstrativo a seguir demonstra o volume de pedidos por mês em 2004:

SELECT 
  MONTH(orderDate) month, 
  ROUND(
    SUM(quantityOrdered * priceEach)
  ) subtotal 
FROM 
  orders 
  INNER JOIN orderdetails USING (orderNumber) 
WHERE 
  YEAR(orderDate) = 2004 
GROUP BY 
  month;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+-------+----------+
| month | subtotal |
+-------+----------+
|     1 |   292385 |
|     2 |   289503 |
|     3 |   217691 |
|     4 |   187576 |
|     5 |   248325 |
|     6 |   343371 |
|     7 |   325563 |
|     8 |   419327 |
|     9 |   283800 |
|    10 |   500234 |
|    11 |   979292 |
|    12 |   428838 |
+-------+----------+
12 rows in set (0.03 sec)Linguagem de código:  texto simples  ( texto simples )

Vamos dividir a declaração em partes menores para facilitar a compreensão:

  1. A INNER JOINcláusula une duas tabelas orderse orderdetailsusa a orderNumbercoluna.
  2. A MONTHfunção é aplicada à orderDatecoluna para obter o mês dos pedidos.
  3. A SUM()função calcula o subtotal de cada item de linha no pedido de venda
  4. A WHEREcláusula inclui apenas os pedidos de 2004.
  5. A GROUP BYcláusula agrupa o subtotal por mês.

Resumo

  • UYse a MONTH()função para obter o mês de uma data específica.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *