Возврат объединенного значения из хранимой процедуры SQL - PullRequest
0 голосов
/ 04 марта 2012

Пожалуйста, посоветуйте мне получить возвращаемое значение как 4/30 из хранимой процедуры. Я объявил хранимую процедуру с одним выходным параметром @result varchar (5) и без входного параметра, Я объявил 3 переменные внутри хранимой процедуры, скажем

declare @a float
declare @b float
declare @c varchar  

set @a=4
 set @b=30
set  @c=cast(@a as varchar)+'/'+cast(@b as varchar)

set @result=@c
return @result

Хранимая процедура выполняется и возвращает возвращаемое значение как 4. Но мне нужно, чтобы возвращаемое значение было 4/30. Можно ли получить 4/30 в качестве возвращаемого значения? Пожалуйста, предложите мне выше ...

На самом деле я хочу установить @a для запроса select, который возвращает число с плавающей запятой, и установите @b для другого запроса на выборку, который возвращает число с плавающей запятой .. но в приведенном выше sp только что показал пример. Пожалуйста, посоветуйте мне получить возвращаемое значение как 4 / 30.

Ответы [ 3 ]

2 голосов
/ 04 марта 2012

Вам необходимо указать размер @c.Без размера это будет varchar(1).

declare @c varchar(5)
1 голос
/ 04 марта 2012

Вы должны указать параметр длины при объявлении переменной @ c

declare @c varchar(5)
0 голосов
/ 04 марта 2012

После записи запроса в MS ясно, что нужно указать переменную длину переменной .....

declare @a int;
declare @b int;
declare @c varchar(5);
set @a=4;
set @b=30;
SET @c=cast(@a as varchar)+'/'+cast(@b as varchar)
select @c;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...