【问题标题】:Concatenate Two double precisions into a string in sql server 2008 function在sql server 2008函数中将两个双精度连接成一个字符串
【发布时间】:2013-09-23 14:39:32
【问题描述】:

我有一个关于 Transact SQL 函数的问题。 我需要将两个 INT 值组合成一个 VARCHAR 值。例如。下限 = '5',上限 = '15' 我的结果应该是“5 - 15”

表格如下所示: ID 下限 上限 1 5 15 2 3 19 等等

到目前为止的代码是这样的。剩下的就是将两个结果结合起来: 任何帮助将不胜感激!

CREATE FUNCTION [dbo].[GiveMeTheRange] (@argID INT)

RETURNS VARCHAR
AS
BEGIN
DECLARE @Range VARCHAR;
DECLARE @LowerLimit DOUBLE PRECISION;
DECLARE @UpperLimit DOUBLE PRECISION;


SELECT    @LowerLimit = [Lower Limit]
FROM         T_VormFactorKlassen
WHERE     (ID = (@argID)

SELECT    @UpperLimit = [Upper Limit]
FROM         T_VormFactorKlassen
WHERE     (ID = (@argID)


-- concattenate(@LowerLimit ' - ' @UpperLimit)  <----That ain't workin' 

RETURN @VormFactorKlasseNaam ;


END

谢谢

【问题讨论】:

    标签: sql sql-server sql-server-2008-r2 concatenation


    【解决方案1】:

    试试这个:

    SET @VormFactorKlasseNaam = CAST(@LowerLimit as varchar(5)) + ' - ' + 
         cast(@UpperLimit as varchar(5))  
    

    【讨论】:

      【解决方案2】:

      你真的应该避免用标量函数做这种事情。也就是说,这应该有效:

      CREATE FUNCTION [dbo].[GiveMeTheRange] (@argID INT)
      
      RETURNS VARCHAR(23)   -- Always specify the length of the VARCHAR
      AS
      BEGIN
      DECLARE @Range VARCHAR(23);
      DECLARE @LowerLimit DOUBLE PRECISION;
      DECLARE @UpperLimit DOUBLE PRECISION;
      
      
      SELECT    @LowerLimit = [Lower Limit]
      FROM         T_VormFactorKlassen
      WHERE     ID = (@argID)
      
      SELECT    @UpperLimit = [Upper Limit]
      FROM         T_VormFactorKlassen
      WHERE     ID = (@argID)
      
      
      -- concattenate(@LowerLimit ' - ' @UpperLimit)  <----That ain't workin' 
      SET @Range = CAST(@LowerLimit AS VARCHAR(10)) + ' - ' + 
                   CAST(@UpperLimit AS VARCHAR(10))
      
      RETURN @Range;
      
      
      END
      

      【讨论】:

      • 谢谢!作品。如果我希望将来避免使用此类功能,您会推荐什么?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-11
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 2018-12-16
      相关资源
      最近更新 更多