2010-11-26 5 views
0

저장 프로 시저에 문제가 있습니다. 작성 중입니다.매개 변수 값 형식 변환 날짜 형식 Int32

나는 날짜 값을 보유 대부분의 테이블의 번호에서 데이터를 수집하고, 그러나 사람은 한 달 (int)를 내 SP의 시작 부분에 다음과 같은 매개 변수를 선언

보유하고 있습니다.

@FromDate DateTime, 
@ToDate DateTime 

이 내 테이블의 대부분 잘 작동하지만 난 그냥 @FromDate에서 달을 요구하고있는 테이블에 대해, 나는 다음과 같은 오류로 실행 : 여기

"Failed to convert parameter value form a DateTime to a Int32."

내 선택이다 문제 테이블에 대한 설명 :

SELECT Branch, Discount 
    FROM MonthlyPromotions 
    WHERE (Month = DATEPART(mm,@FromDate)) 

또한 MonthlyPromotions 테이블에서 월 필드는 Int입니다.

아무도이 최대한 빨리 도움을 줄 수 있습니까 ??

감사합니다

+0

MONTH는 예약 된 키워드입니다, 테이블 별명을 시도하고 다음 달 열 (alias.Month를) 참조. – bleeeah

+0

아니면 그냥 대신 [달]을 쓸 수 있습니다 – thomaspaulb

답변

1

당신이 당신의 SP의 시작 부분에

PRINT CAST(CAST(DATEPART(mm, @FromDate) AS INT) AS VARCHAR(50)) 
RETURN 

을 할 수있는, 문제를 해결하려면? 그 오류를 제공하지 않는 경우에 , 당신은 진행할 수 :

SELECT Branch, Discount 
    FROM MonthlyPromotions 
    WHERE Month = CAST(DATEPART(mm,@FromDate) AS INT) 
+0

Spot을 켜고, 왜 작동하지 않았는지 알 수 없습니다. 건배 –

+0

글쎄, 오늘은 때때로 당신이 Prequel, 모든 스크립트와 구문을 만든 SQL의 신에게기도해야한다고 들었습니다. 아마 진짜 대답 일 겁니다. – thomaspaulb

0
select cast(getdate() as int)