안녕하세요 temp #Dates table
하나는 다음 조건을 사용하여 채워집니다.sql의 temp #date 테이블에서 이전 날짜를 선택하는 방법은 무엇입니까?
IF @Period = 'Monthly'
BEGIN
INSERT #Dates
SELECT MAX(DATE) WeekDays FROM TABLENAV WITH (NOLOCK, READUNCOMMITTED)
GROUP BY DATEDIFF(MONTH, 0, DATE)
ORDER BY MAX(DATE) DESC
END
이제 데이터가 #Dates의 임시 테이블에 내가 어떤 Todays_Date
을 통과있을 때 나는
DECLARE @Todays_Date datetime = '2013-04-22'
select date from #Dates where MONTH(DATE) = MONTH(@Todays_Date)-1 AND YEAR(DATE) = YEAR(@Todays_Date)
을 다음과 같이 시도
Previous_Date
을 얻고 싶은
DATE
2013-04-22 00:00:00.000
2013-03-29 00:00:00.000
2013-02-28 00:00:00.000
2013-01-31 00:00:00.000
2012-12-31 00:00:00.000
2012-11-30 00:00:00.000
입니다
giving ans : 2013-03-29
그러나 연도 변경, 내가 예를 를 들어 ANS
로 아무것도 점점하지있을 때 @Todays_Date = '2012-01-31'
경우 나 2012-12-31
아무것도 제공하지에게 반환해야합니다.
select statement
수정하는 데 도움이됩니다. 당신은 이전의 날짜를 얻기 위해 아래 쿼리를 사용할 수 있습니다
고마워 쉽게 고쳐 나는 때문에 절차의 복잡성을하지 않았다 :) – Neo