2012-03-04 85 views
0

请指教我从存储过程获取4/30的返回值。 我已经声明与一个输出参数@result VARCHAR(5)输出并没有输入参数的存储过程, 我已经宣布在存储过程中的3个变量说从SQL存储过程返回连接值

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 @[email protected] 
return @result 

存储的过程执行并返回的返回值作为4. 但我需要返回值为4/30。有可能获得4/30作为回报价值吗? 请建议我在上面......

其实我想@a设置为返回浮点数, 并设置@b到它返回一个浮点数另一个选择查询选择查询..但在上面的sp只是一个例子。请告诉我得到4/30的返回值。

回答

2

您需要指定尺寸为@c。没有大小,它将是varchar(1)

declare @c varchar(5) 
+0

+1足够快8-) – 2012-03-04 08:51:16

+0

@OlegDok +1马上回到你身边。 :) – 2012-03-04 08:55:02

1

声明变量时@c

declare @c varchar(5) 
0

在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;