【问题标题】:Return a concatenated value from a SQL stored procedure从 SQL 存储过程返回连接值
【发布时间】:2012-03-04 08:34:24
【问题描述】:

请建议我从存储过程中获取 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 设置为返回浮点数的选择查询, 并将@b 设置为另一个返回浮点数的选择查询.. 但在上面的 sp 中只显示了一个示例。请建议我将返回值设为 4/30。

【问题讨论】:

    标签: sql stored-procedures


    【解决方案1】:

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

    declare @c varchar(5)
    

    【讨论】:

      【解决方案2】:

      声明变量@c时要指定长度参数

      declare @c varchar(5)
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-12-25
          • 2020-12-11
          • 2010-11-23
          • 1970-01-01
          • 2015-10-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多