2013-11-22 2 views
0

이 저장 프로 시저를 SQL Server에 쓰려고 할 때이 오류가 발생합니다. 내 인생에서 나는 왜 그런지 모릅니다. 모든 단서?T-SQL의 선언 된 변수로 변환하지 못했습니다.

BEGIN 
declare @output varchar(max) 

select @output = COALESCE(@output + ',','') + CONVERT(varchar(150), AGE_START) 
from tblRaceCategories 
where RACE_ID = 13 

return @output 
END 

내가 점점 오전 오류는 다음 VARCHAR 값을 '5,8,11,16,21,31,41,51,61,16,21 변환 할 때

변환 실패, 31,41,51,61 '을 데이터 유형 int로 변환합니다. 이해가되지 않습니다

는, 나는 varchar, 나는 내 AGE_STARTvarchar에 변환 한 @output 선언했다. 내가 여기서 무엇을 놓치고 있니?

답변

3

반환 값은 변환이 실패하는 곳인 int 유형일 수 있습니다.

문자열을 반환하는 대신 출력 변수를 사용하십시오. 예 :

create procedure Demo 
    @output varchar(max) out 
as 
... 
+0

감사합니다. 내가 의도 한 바를 위해 기능을 만들어야했지만 결국 그 문제가 해결되었습니다. 감사. – user3023083

관련 문제