代码之家  ›  专栏  ›  技术社区  ›  sam

SQL Server函数只返回第一个字符[重复]

  •  0
  • sam  · 技术社区  · 7 年前

    我编写了一个SQL Server函数,它应该返回完整的列数据,如 Jhon 但是由于未知的原因,它只返回第一个字符 J

    CREATE FUNCTION F_GET_USER_INFO(@param1 VARCHAR(60))
    RETURNS VARCHAR
    AS 
    BEGIN 
        DECLARE @vResult VARCHAR
    
        SELECT @vRESULT = column1
        FROM table1 
        WHERE UPPER(column1) = UPPER(@param1) 
    
        IF @@ROWCOUNT = 1
            SET @vResult = @vResult
        ELSE
            SET @vResult = -1
    
        RETURN @vResult
    END
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   sam    7 年前

    通过添加 datatype 大小 RETURNS VARCHAR(60) 不仅仅是为了 return DECLARE @vResult VARCHAR(60) 如下图所示

    CREATE FUNCTION F_Function_Name(@param1 VARCHAR(60))
    
    RETURNS VARCHAR(60)
    AS 
    BEGIN 
    
    DECLARE @vResult VARCHAR(60)
    
    SELECT @vRESULT=column1
        FROM table1 
    WHERE  UPPER(column1)=UPPER(@param1) 
    
    IF @@ROWCOUNT=1
        SET @vResult=@vResult
    ELSE
        SET @vResult= -1
    
    RETURN @vResult
    END
    
    推荐文章