No MySQL, você pode usar o
WEEKOFYEAR()
função para retornar a semana do calendário para uma determinada data. Basta fornecer a data como argumento e a função retornará a semana do calendário como um número no intervalo de 1 a 53. Sintaxe
A sintaxe fica assim:
WEEKOFYEAR(date)
Onde
date
é a data da qual você deseja que a semana do calendário seja retornada. Exemplo 1 – Uso básico
Aqui está um exemplo para demonstrar.
SELECT WEEKOFYEAR('2021-01-21') AS 'Week of the year';
Resultado:
+------------------+ | Week of the year | +------------------+ | 3 | +------------------+
Aqui está um exemplo usando uma data posterior:
SELECT WEEKOFYEAR('2021-12-21') AS 'Week of the year';
Resultado:
+------------------+ | Week of the year | +------------------+ | 51 | +------------------+
Exemplo 2 – WEEKOFYEAR() vs WEEK()
O
WEEKOFYEAR()
função é o equivalente a usar WEEK(date,3)
. Nesse contexto, 3
é o modo que determina se a semana começa no domingo ou na segunda-feira, e se sua contagem varia de 0 a 53 ou de 1 a 53. Aqui está um exemplo que mostra essas duas funções lado a lado:
SET @date = '2021-07-21'; SELECT WEEK(@date, 3), WEEKOFYEAR(@date);
Resultado:
+----------------+-------------------+ | WEEK(@date, 3) | WEEKOFYEAR(@date) | +----------------+-------------------+ | 29 | 29 | +----------------+-------------------+
Para ver como o modo afeta o resultado, veja
WEEK()
Exemplos – MySQL.