У меня есть хранимая процедура, которая возвращает целочисленное значение, но во время печати я хочу напечатать символ «%».
declare @avg int exec example @avg output select @avg
Это дает только число, как 80. Но я хочу 80%
Неправильно пытаться решить эту проблему, изменив хранимую процедуру.Есть ли способ добавить символ% в пользовательском интерфейсе или при форматировании того, что должно быть напечатано?
Вы можете Привести или преобразовать значение INT в VARCHAR с использованием, например, CAST(@avg as VARCHAR), что делает законным выполнение конкатенации строк с помощью оператора +.Это, конечно, также повлияет на тип возврата вашего спрока.
CAST(@avg as VARCHAR)
+
Преобразовать в строку при печати
declare @avg int set @avg = 80 select Convert(varchar(5),@avg) + '%' or print Convert(varchar(5),@avg) + '%'
Надеюсь, это поможет вам ...
Ну, так как @avg объявлен как int, вы должны привести его перед добавлением символа.
SELECT cast(@avg as varchar(5)) + '%'
declare @avg int exec example @avg output select cast(@avg as nvarchar(10)) + '%'