我的存储过程的参数为varchar,但长度不能自动增长,超过长度就截取了,实际变成了char。有什么方法可以使长度自动增长?谢过--过程
create proc test_proc @code varchar(5)
as
select @code--调试
exec test_proc '123456'--输出
--12345

解决方案 »

  1.   

    那你就把长度放大一点, 估算一下,比如放到varchar(30),60,etc
      

  2.   

    ALTER PROC TEST_PROC @CODE VARCHAR(MAX)
    AS
    SELECT @CODE
      

  3.   

    varchar可以定义足够长,实际使用的长度看实际的字符串长度。但是如果将一个长度大于varchar定义时指定的长度时,就会截断。可以这么说,varchar具有自动缩短的功能,但不能自动加长。