снежинка: Dateadd только будни - PullRequest
1 голос
/ 28 февраля 2020

возможно ли добавить только дни недели в функцию даты?

dateadd (day, 10, business_date) ==> вместо возврата в следующие 10 дней, можно ли вернуться в следующие 10 дней недели?

С уважением, Сридар

1 Ответ

1 голос
/ 28 февраля 2020

Существуют некоторые полусложные функции для других языков, которые можно преобразовать, но, не зная больше, я обычно рекомендую метод создания календарной таблицы.

В этой таблице вы можно пометить даты как будние дни, а затем объединить и отфильтровать по этой таблице.

Это также позволяет расширять праздничные дни с помощью дополнительного флага IsHoliday

Затем вы можете присоединиться к спискам дат с такими запросами, как этот

SELECT DateColumnValue, RANK() OVER(ORDER BY DATEKEY) RNK 
FROM DIMDATE
WHERE DateColumnValue >= CURRENT_DATE
    AND isWeekday = 1
    AND isHoliday = 0
QUALIFY RNK <= 10
...