2011-04-01 108 views
1

我有一個存儲過程返回一個整數值,但在打印時我想打印「%」符號。
如何添加「%」符號?

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


這是給唯一數字,如80。不過,我想80%

回答

3

好吧,既然@avg被聲明爲INT,你必須附加一個字符前投它。

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

試圖通過修改您的存儲過程來解決此問題似乎不正確。是否有任何方法可以在用戶界面中添加%符號,或者在格式化應該打印的任何內容時?

您可以使用可以Cast or Convert將INT值轉換爲VARCHAR。 CAST(@avg as VARCHAR),因此使用+運算符執行字符串連接是合法的。這當然也會影響你的sproc的返回類型。

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

轉換爲字符串,同時打印

declare @avg int 
set @avg = 80 

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

or 

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

我希望這個幫到u ...