Função MySQL SEMANA()

Resumo : neste tutorial, você aprenderá como usar a WEEK()função MySQL para obter o número da semana de uma data.

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

Normalmente, um ano tem 365 dias para um ano normal e 366 dias para um ano bissexto. Um ano é então dividido em semanas, com cada semana tendo exatamente 7 dias. Portanto, durante um ano, geralmente temos 365/7 = 52 semanas que variam de 1 a 52.

A função WEEK() permite obter o número da semana de uma data específica:

WEEK(date, mode);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • date: Esta é a data em que você deseja obter o número da semana.
  • mode: este é um argumento opcional que determina como a função calcula o número da semana. Especifica se a semana deve começar na segunda ou no domingo e o número da semana retornado deve estar entre 0 e 52 ou 0 e 53.

A WEEK()função retorna um número de semana baseado na ISO 8601:1988 .

Se você ignorar o modeargumento, a WEEK()função usará o valor da default_week_formatvariável do sistema por padrão.

Para obter o valor atual da default_week_formatvariável, você usa a SHOW VARIABLESinstrução a seguir:

SHOW VARIABLES LIKE 'default_week_format';Linguagem de código:  JavaScript  ( javascript )

Saída:

+---------------------+-------+
| Variable_name       | Value |
+---------------------+-------+
| default_week_format | 0     |
+---------------------+-------+
1 row in set (0.01 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A saída mostra que o valor padrão   default_week_format é 0.

A tabela a seguir ilustra como o argumento mode influencia a WEEKfunção:

Modo Primeiro dia da semana Faixa A semana 1 é a primeira semana…
0 Domingo 0-53 com um domingo neste ano
1 Segunda-feira 0-53 com 4 ou mais dias este ano
2 Domingo 1-53 com um domingo neste ano
3 Segunda-feira 1-53 com 4 ou mais dias este ano
4 Domingo 0-53 com 4 ou mais dias este ano
5 Segunda-feira 0-53 com uma segunda-feira neste ano
6 Domingo 1-53 com 4 ou mais dias este ano
7 Segunda-feira 1-53 com uma segunda-feira neste ano

O ” with 4 or more days this year” na tabela acima significa:

  • Se a semana contiver 1º de janeiro e tiver 4 ou mais dias no ano novo, a semana será numerada como semana 1.
  • Caso contrário, a semana será numerada como a última semana do ano anterior e a semana seguinte será a semana 1.

Exemplo de função MySQL WEEK()

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

1) Exemplo simples de função MySQL WEEK()

O exemplo a seguir usa a WEEK()função para obter o número da semana da data '2023-10-16':

SELECT WEEK('2023-10-16') as week_no;Linguagem de código:  JavaScript  ( javascript )

Saída:

+---------+
| week_no |
+---------+
|      42 |
+---------+
1 row in set (0.01 sec)Linguagem de código:  JavaScript  ( javascript )

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

Usaremos a orderstabela no banco de dados de exemplo :

A instrução a seguir usa a WEEK()função para obter o número de pedidos por semana em 2003:

SELECT 
  WEEK(orderDate) week_no, 
  COUNT(*) 
FROM 
  orders 
WHERE 
  YEAR(orderDate) = 2003 
GROUP BY 
  WEEK(orderDate);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

Exemplo de função MySQL WEEK

Resumo

  • Use a WEEK()função MySQL para obter o número da semana de uma data específica.

Deixe um comentário

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