Есть ли у кого-нибудь функция в SQL, которая задает начальную дату, номер дня и конечную дату для вычисления следующего соответствующего дня и месяца?

Я хотел бы знать, если у кого-то есть функция в SQL, которая дает начальную дату, номер дня, частоту и конечную дату, вычисляют следующий номер дня и месяц?

Например

@initialdate=20130101
@finaldate=20133112
@daynumber=14  --that means every 14
@frecuency=2

тогда запрос генерирует следующие даты как это:

 20130114
 20130314
 20130514
 20130714
 20130914
 20131114

Лучше, если решение представляет собой CTE, лучше, если оно будет подтверждено 28-29 февраля, а номер дня - 31.

Это запрос, над которым я работаю, он собирается сгенерировать дату, учитывая тип частоты, частоту и вхождение, которое зависит от типа частоты.

Type of Frec         Frecuency          Ocurrence
DI (Dairy)           1 (Every 1 day)    na
DI (Dairy)           2 (Every 2 day)    na
..
DI (Dairy)           6 (Every 6 day)    na
SE (Weekly)          1 (Every 1 week)   1   (for Monday)
SE (Weekly)          2 (Every 2 weeks)  3   (for Wednesday)
SE (Weekly)          3 (Every 3 weeks)  5   (for Friday)
SE (Weekly)          4 (Every 4 weeks)  2   (for Tuesday)
MD (Monthly by day)  1 (Every 1 month)  1   (for first day of the month)
MD (Monthly by day)  1 (Every 1 month)  2   (for last day of the month)
...
MD (Monthly by day)  11 (Every 11 months) 2   (for last day of the month)
MF (Monthly by date) 1 (Every 1 month)  14   (for every 14 of the month)
...
MF (Monthly by date) 2 (Every 2 months) 30   (for every 30 of the month)
MF (Monthly by date) 3 (Every 3 months) 31   (for every 31 of the month)

0 ответов

Другие вопросы по тегам