날짜에 따라 특정 코드를 설정할 수 있습니다.SQL Server : CASE date 종료일 30 일 전
오늘 날짜가 시작일과 종료일 사이에 하나가 "활성"입니다. 다른 하나는 종료일 30 일 전에 신청해야합니다.
나는 이런 식으로 시도했지만, 30 일전에 캐스팅하지 못했습니다. 도움을 주시면 감사하겠습니다.
예 :
DECLARE @now datetime = GETDATE()
UPDATE table
SET CODE = CASE
WHEN @now BETWEEN i.StartDATE AND i.EndDATE
THEN 'Active'
WHEN i.EndDATE <= DATEADD(day, -30, GETDATE())
THEN 'Expiring'
ELSE 'Cancelled'
END
어떤 오류가 발생합니까? – dazedandconfused
나는 당신의 상태가 잘못되었다고 생각합니다. 오늘이 만료일로부터 30 일 이내에 만료 될 경우 코드를 만료로 표시하려면'getdate()> = dateadd (day, -30, i.enddate)를 계산해야합니다. ' – Beth
@Beth - 그렇지 않습니다. 비교 연산자를 작게보다는 작게 반대로 할 때 OP에있는 것과 똑같은가? – Igor