我有一个存储过程返回一个整数值,但在打印时我想打印“%”符号。
declare @avg int
exec example @avg output
select @avg
它只给出80之类的数字。但我想要80%
答案 0 :(得分:5)
尝试通过修改存储过程来解决此问题似乎不正确。是否有任何方法可以在UI中添加%符号,或者在格式化任何应该打印的内容时?
您可以使用例如 Cast or Convert将INT值转换为VARCHAR CAST(@avg as VARCHAR)
因此使用+
运算符执行字符串连接是合法的。这当然也会影响你的sproc的返回类型。
答案 1 :(得分:3)
好吧,因为@avg被声明为int,你必须在附加一个字符之前强制转换它。
SELECT cast(@avg as varchar(5)) + '%'
答案 2 :(得分:3)
打印时转换为字符串
declare @avg int
set @avg = 80
select Convert(varchar(5),@avg) + '%'
or
print Convert(varchar(5),@avg) + '%'
我希望这有助于你...
答案 3 :(得分:1)
declare @avg int
exec example @avg output
select cast(@avg as nvarchar(10)) + '%'