如何在存储过程中对两个类型为TEXT的参数进行相加运算?用@a+@b 的形式会不会出项为题呢?赋值也是在存储过程中;
declare @a Text
declare @b Text
declare @c Text
set @b='aa'
set @c='<span>sdfsdf<span>'
set @a='文章标题:'+ @b+'<br>文章内容:'+@c

解决方案 »

  1.   

    不能使用declare声明text,ntext,image等
      

  2.   


    create table #t(a text,b text)
    insert into #t select 'aa','<span>sdfsdf<span>'select '文章标题:'+ cast(a as varchar)+'<br>文章内容'+cast(b as varchar) from #t
    --文章标题:aa<br>文章内容<span>sdfsdf<span>
    drop table #t
      

  3.   

    改為varchar
    05可用
    varchar(max)
      

  4.   

    那样不行的,实际中@b 和 @c 的数据是非常多的,varchar 根本就不够用的
      

  5.   

    create proc textadd(@a text,@b text)
    as
    begin
     select cast(@a as nvarchar)+cast(@b as nvarchar)
    end
    go
    textadd '111','aaa'
    go
    drop proc textadd
    /*
    ------------------------------------------------------------ 
    111aaa*/
      

  6.   

    create proc textadd(@a text,@b text)
    as
    begin
     select cast(@a as nvarchar)+cast(@b as nvarchar)
    end
    go
    textadd '1''1''1','aaa'
    go
    drop proc textadd
    /*
    ------------------------------------------------------------ 
    ------------------------------------------------------------ 
    1'1'1aaa*/