У меня есть таблица с кучей дат (точнее, сроки погашения, если быть точным). Мне нужно запросить эту базу данных, чтобы найти последний день определенной недели, который хранится в таблице.Поиск последнего дня недели
Все, что мне будет предложено запросить в этой таблице, это год, месяц и конкретная неделя. И на основании этого мне нужно найти дату, которая хранится в таблице, которая соответствует этому.
Я создал следующий запрос, чтобы найти эту конкретную дату 28 марта 2013
SELECT M_SETNAME, M_LABEL, M_MAT FROM OM_MAT_DBF
WHERE M_SETNAME = 'IMM_OSET '
AND MONTH(M_MAT) = 3
AND YEAR(M_MAT) = 2013
AND ((DATEPART(day,M_MAT)-1)/7 + 1) = 5
ли вы, ребята, есть какие-либо идеи о том, как я могу изменить последнее условие так, что 28 марта будет рассмотрен пятой неделе месяца, а не 4-й недели, как это делается в настоящее время.
Хммм, 28 марта - * четвертая * неделя месяца (первая неделя, 1-7, вторая, 8-14, третья, 15-21, четвертая 22-28). Какова ваша логика для подсчета недель в месяц? –
Моя логика рассматривает последний день недели как неделю. Итак, 1 марта выпадает на пятницу, поэтому мой запрос даст мне 1 марта 2013 года, когда я установил последнее условие на 1. Таким образом, в основном 1 марта - 1-я неделя 8 марта - 2-я неделя 15 марта - 3-я неделя Март 22 - 4-я неделя 28 марта - 5-я неделя (не 29 б/с, а таблица только 28 марта, а на той неделе, а не 29 марта) – user3284817
Как вы рассчитываете месяц, где первый день субботы? (В эту первую неделю нет пятницы!) Также, что такое «последний день недели» ... некоторые календари начинаются в воскресенье (Sun-Sat), а другие начинаются в понедельник (Mon-Sun). – Whitzz