2011-04-01 7 views
1

정수 값을 반환하는 저장 프로 시저가 있지만 인쇄 할 때 "%"기호를 인쇄하려고합니다. @avg가 INT로 선언되어 있기 때문에,
"%"기호를 추가하는 방법은 무엇입니까?

declare @avg int 
exec example @avg output 
select @avg 


그것은 80 같은 숫자 만주고있다하지만 80 %

답변

3

음을 원한다, 당신은 문자를 추가하기 전에 캐스팅해야합니다.

SELECT cast(@avg as varchar(5)) + '%' 
5

저장 프로 시저를 수정하여이 문제를 해결하려고하지 않는 것으로 보입니다. UI에 % 기호를 추가 할 수있는 방법이나 인쇄 할 내용을 포맷 할 때 사용할 수있는 방법이 없습니까?

Cast or Convert 예를 들어,를 사용하여 VARCHAR에 INT 값을 지정하십시오. CAST(@avg as VARCHAR)을 입력하면 + 연산자를 사용하여 문자열 연결을 수행 할 수 있습니다. 이것은 물론 sproc의 반환 유형에도 영향을 미칩니다. 문자열

1
declare @avg int 
exec example @avg output 
select cast(@avg as nvarchar(10)) + '%' 
3

변환 내가 U이 도움을 희망

declare @avg int 
set @avg = 80 

select Convert(varchar(5),@avg) + '%' 

or 

print Convert(varchar(5),@avg) + '%' 

을 ... 인쇄하는 동안

관련 문제