Функция WEEK возвращает номер недели в году по дате.

При наличии одного параметра возвращает порядковый номер недели в году в диапазоне от 0 до 53 (да, возможно начало 53-й недели) для регионов, где воскресенье считается первым днем недели.

Форма WEEK с двумя параметрами позволяет уточнить, с какого дня начинается неделя - с воскресенья или с понедельника. Неделя начинается с воскресенья, если второй аргумент равен 0, и с понедельника - если 1.

См. также функцию YEARWEEK, которая находит неделю и ее год по дате.

Синтаксис

SELECT WEEK(дата) FROM имя_таблицы WHERE условие
SELECT WEEK(дата, начало_недели) FROM имя_таблицы WHERE условие

Примеры

Все примеры будут по этой таблице workers, если не сказано иное:

id
айди
name
имя
date
дата рождения
1 Дима 1988-03-01
2 Петя 1989-04-02
3 Вася 1990-05-03

Пример

При выборке из таблицы выведем номер недели в году:

SELECT *, WEEK(date) as week FROM workers

SQL запрос выберет следующие строки:

id
айди
name
имя
date
дата рождения
week
номер недели в году
1 Дима 1988-03-01 61
2 Петя 1989-04-02 92
3 Вася 1990-05-03 123