Если текущая дата попадает в последние 3 рабочих дня месяца, требуемая дата «месяц» должна измениться на «следующий месяц» - PullRequest
0 голосов
/ 23 мая 2018

Можете ли вы, ребята, помочь мне в достижении приведенной ниже логики в SQL Server (T-SQL)

Если текущая дата выпадает на последние 3 рабочих дня месяца, требуемая дата "месяц" должна измениться на "Далее"месяц '

Пример:

20180627 (Current Date) --> 201807 (Desired Date),

20180529 --> 201806,
20190226 --> 201903,
20181227 --> 201901

Большое спасибо заранее!

1 Ответ

0 голосов
/ 23 мая 2018

Использование eomonth():

select (case when getdate() >= cast(dateadd(day, -2, eomonth(getdate())) as date)
             then year(dateadd(month, 1, getdate())) * 100 + month(dateadd(month, 1, getdate()))
             else year(getdate()) * 100 + month(getdate())
        end) as desired_month
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...