basitsar Ответов: 2

Как получить период года в соответствии с currentdate (getdate ()) зависит от даты присоединения.


Привет,

Как получить период года в соответствии с currentDate (GetDate ()) зависит от даты присоединения.

например.

Emp_No     Joining Date        As per todaycurrentDate(His One year period End)
 
1                14-Jul-2013                14-Jul-2017
2                14-Jul-2016               14-Jul-2017 
3                01-Feb-2015               01-Feb-2017


Как сделать запрос?

Что я уже пробовал:

Я использую футляр, но этот не подойдет.

Случай, когда JoinDate < GetDate () затем dateadd(DAY, 365, JoinDate) ELSE JoinDate END

Спасибо
Басит.

2 Ответов

Рейтинг:
13

OriginalGriff

Попробуй:

CASE WHEN JoinDate < GetDate() THEN DATEFROMPARTS(DATEPART(yy, GETDATE()), DATEPART(mm, JoinDate), DATEPART(dd, JoinDate)) ELSE JoinDate END


basitsar

большое спасибо

OriginalGriff

Пожалуйста!

Рейтинг:
0

NightWizzard

Не знаю, что не так с вашим решением, кроме того, что високосные годы не имеют 365 дней. Если бы я написал этот запрос, он выглядел бы так

SELECT [Emp_No]
     , [JoinDate]
     , CASE
         WHEN ([JoinDate] < getdate()) THEN DATEADD(YEAR, 1, [JoinDate])
         ELSE [JoinDate]
       END AS [PeriodEnd]
FROM [dbo].[<Tablename>]