你修改数据库应该是在企业管理器,或者前途控件改的吧因为char类型是会在后面添加空格充满20个字符 所以你不删掉后面的空格,再添加进字符,肯定报错。你改字段类型为varchar或nvarchar,然后用这个语句批量将空格去掉 update 表 set 字段=RTRIM(字段)
--你是怎么修改的?char类型的字段,其后面会自动补空格.修改的时候要去空格.--例子: declare @tb table(a char(10)) insert into @tb select 'a' union all select 't' union all select 'z' --update @tb set a=a+'abc' --如果执行这句就会错. update @tb set a=rtrim(a)+'abc' --正确的写法,去掉尾部空格再处理.
所以你不删掉后面的空格,再添加进字符,肯定报错。你改字段类型为varchar或nvarchar,然后用这个语句批量将空格去掉
update 表 set 字段=RTRIM(字段)
declare @tb table(a char(10))
insert into @tb
select 'a'
union all select 't'
union all select 'z'
--update @tb set a=a+'abc' --如果执行这句就会错.
update @tb set a=rtrim(a)+'abc' --正确的写法,去掉尾部空格再处理.
'1234□□□□□□''1234□□□□□□' + 'BCD'
长度要比10个长'1234□□□□□□'
的长度等于
'1234567890'