Возможно, вы можете использовать что-то вроде этого:
SELECT *
FROM table
WHERE
EXTRACT(week FROM datecolumn) = EXTRACT(week FROM NOW())
AND
EXTRACT(isoyear FROM datecolumn) = EXTRACT(isoyear FROM NOW())
week
- это номер недели ISO-8601. По определению, недели ISO начинаются по понедельникам, а первая неделя года содержит 4 января этого года. Другими словами, первый четверг года - первая неделя этого года.
В системе нумерации недель ИСО даты начала января могут быть частью 52-й или 53-й недели предыдущего года, а даты конца декабря - частью первой недели в следующем году.
Например, 2005-01-01 является частью 53-й недели 2004 года, а 2006-01-01 является частью 52-й недели 2005 года, а 2012-12-31 - частью первая неделя 2013 года.
Рекомендуется использовать поле isoyear
вместе с week
для получения согласованных результатов.
Если вам нужна индивидуальная (не ISO) нумерация недель - вы будете нужно создать свой собственный расчет.