Вы можете использовать DATEPART
с wk
, чтобы получить текущую неделю. Тогда просто проверьте на равенство.
В этом случае я также проверил yy
, чтобы убедиться, что вы не проверяете год предыдущей недели.
SELECT *
FROM TABLE
WHERE DATEPART(wk, TABLE.DATECOLUMN)
= DATEPART(wk, (SELECT DATECOLUMN FROM TABLE WHERE ID = GivenID))
AND DATEPART(yy, TABLE.DATECOLUMN) = DATEPART(yy, (SELECT DATECOLUMN FROM TABLE WHERE ID = GivenID))
ОБНОВЛЕНИЕ ДЛЯ SQLITE
Чтобы сделать это в SQLLite, См. Этот вопрос SO , а затем в этой статье, в которой говорится, что% W - это то, что вы используете для получения недели, а% Y для года . Что дает вам:
SELECT *
FROM TABLE
WHERE STRFTIME('%W', TABLE.DATECOLUMN)
= STRFTIME('%W', (SELECT DATECOLUMN FROM TABLE WHERE ID = GivenID))
AND STRFTIME('%Y', TABLE.DATECOLUMN)
= STRFTIME('%Y', (SELECT DATECOLUMN FROM TABLE WHERE ID = GivenID))