--字段多吗?不多就可以这么写啊。
update 
    Archives_Vehicle 
set 
   yyh=ltrim(rtrim(yyh)),
   A=ltrim(rtrim(A),
   A=ltrim(rtrim(B),
...

解决方案 »

  1.   

    很多表,很多含字符字段.
    原来他们设计程序时,用的char字段,现在改成varchar字段.就出现了这个问题了
      

  2.   

    DECLARE @T_SQL varchar(8000)
    set @T_SQL=''
    select  @T_SQL=@T_SQL + name +'=ltrim(rtrim('+ name + ')),' from  syscolumns where id=object_id('Archives_Vehicle')
    set @T_SQL = 'update Archives_Vehicle set ' + left(@T_SQL,len(@T_SQL)-1)
    exec (@T_SQL)
      

  3.   

    谢谢!scmail81(freedom) 太感谢了,但是,提示我
    服务器: 消息 8102,级别 16,状态 1,行 1
    无法更新标识列 'id'。
      

  4.   

    try:
    DECLARE @T_SQL varchar(8000)
    set @T_SQL=''
    select  @T_SQL=@T_SQL + name +'=ltrim(rtrim('+ name + ')),' from  syscolumns where id=object_id('Archives_Vehicle') and name <> 'id'
    set @T_SQL = 'update Archives_Vehicle set ' + left(@T_SQL,len(@T_SQL)-1)
    exec (@T_SQL)
      

  5.   

    你这样算了 !
    DECLARE @T_SQL varchar(8000)
    set @T_SQL=''
    select  @T_SQL=@T_SQL + name +'=ltrim(rtrim('+ name + ')),' from  syscolumns where id=object_id('Archives_Vehicle') and name <> 'id'
    set @T_SQL = 'update Archives_Vehicle set ' + left(@T_SQL,len(@T_SQL)-1)
    print @T_SQL把这个打印出来的SQL 语句放在查询分析器里
    然后你把那些不是 字符串的字段踢出去
    然后在执行这条SQL 就可以了啊!!