Мне нужно вернуть 1
между 1-м и 14-м и first day of next month
для любого другого, исходя из текущего дня.Почему в случае сбоя при изменении даты
я могу запустить очень простой случай, когда оператор:
select
case when datepart(d, getdate()) between 2 and 14 then '1'
else '1st next month' end
, который возвращает 1 или 1-ый в следующем месяце, как ожидается, и я могу получить фактический первый день следующего месяца легко, а также:
select DATEADD(d, 1, EOMONTH(getdate()))
, но когда я его совмещаю. Она не делает ничего не возвращает - не ошибка и никаких результатов независимо от того, какой день сегодня
select
case when datepart(d, getdate()) between 2 and 14 then '1'
else DATEADD(d, 1, EOMONTH(getdate())) end
у вас есть какие-либо идеи, почему?
Ваш последний запрос будет бросать ошибку преобразования, так как один исход дела заявление является строкой, а другой является DateTime. – dfundako
Здесь возвращаются 2 разных типа данных, один текст ''1'', одна дата – JohnHC