如test表的AA字段"123
"
更改后结果为"123"我用下面语句
update test 
set AA = REPLACE(AA,CHAR(13)+CHAR(10),'')运行后提示:Argument data type text is invalid for argument 1 of replace function.我用的是SQL2000谢谢!

解决方案 »

  1.   


    --try
    update test  
    set AA = REPLACE(cast(AA as varchar(max)),CHAR(13)+CHAR(10),'')
      

  2.   

    declare   @a   varchar(100) 
    set   @a= 'sd 
    sdfs ' print   @a print   replace(replace(@a,char(10), ' '),char(13), ' ')
      

  3.   


    update test  
    set AA = replace(replace(AA,char(10), ' '),char(13), ' ')
      

  4.   

    declare @i varchar(100)
    set @i ='safdf
    FDG'select @i=replace(@i,'
    ','')SELECT @i
      

  5.   

    是啊,是text类型的,那不能用这个函数吗?
      

  6.   


    text,ntext类型,用cast转换为varchar类型替换字符串,要是该字符串长度超过8000个字符,肯定是要出错的。
      

  7.   

    建议使用updatetext来处理:http://www.cnblogs.com/kjun/archive/2009/12/30/1635997.html
      

  8.   

    哦,明白啦,谢谢Beirut,谢谢wufeng4552,谢谢zsh0809!谢谢各位!搞定,我把Beirut的max改为8000,就OK啦,