把这两个类型全部设为char(20)类型了 UPDATE 表 SET name =RIGHT((' 这里是20个空格 '+name),20) jin_er = RIGHT(('00000000000000000000'+jin_er),20)
可以用下面的方法:--1.修改表结构,使它符合你的要求: alter table 你的表 alter column name char(20) alter table 你的表 alter column name jin_er char(20)--2.修改数据,使它符合你的要求: update 你的表 set name=space(20-len(name))+name ,jin_er=replace(space(20-len(jin_er)),' ','0')+jin_er
数据修改语句改一下: update 你的表 set name=right(space(20)+rtrim(name),20) ,jin_er=replace(space(20-len(jin_er)),' ','0')+jin_er
ALTER TABLE 你的表 ALTER COLUMN [name] char(20) ALTER TABLE 你的表 ALTER COLUMN jin_er char(20)update 你的表 set [name]=SPACE(10)+right([name],10),jin_er=right(REPLICATE('0',20)+rtrim(jin_er),20)
如果你仅为了显示,就用: select name=right(space(20)+rtrim(name),20) ,jin_er=replace(space(20-len(jin_er)),' ','0')+cast(jin_er as varchar) from 你的表
ALTER TABLE 你的表 add [新字段名] char(40) update 你的表 set [新字段名]=right([name]+SPACE(20),20)+right(REPLICATE('0',20)+rtrim(jin_er),20)
第一个问题你可以写一个存储过程来做,判断长度,然后决定在前面家多少空格
第二个问题是你除非用char保存,否则用float是没办法得到你要的效果的
第二个问题除非你换了类型,否则用float没法实现你要的功能
UPDATE 表
SET name =RIGHT((' 这里是20个空格 '+name),20)
jin_er = RIGHT(('00000000000000000000'+jin_er),20)
alter table 你的表 alter column name char(20)
alter table 你的表 alter column name jin_er char(20)--2.修改数据,使它符合你的要求:
update 你的表 set name=space(20-len(name))+name
,jin_er=replace(space(20-len(jin_er)),' ','0')+jin_er
update 你的表 set name=right(space(20)+rtrim(name),20)
,jin_er=replace(space(20-len(jin_er)),' ','0')+jin_er
ALTER TABLE 你的表 ALTER COLUMN jin_er char(20)update 你的表 set [name]=SPACE(10)+right([name],10),jin_er=right(REPLICATE('0',20)+rtrim(jin_er),20)
select name=right(space(20)+rtrim(name),20)
,jin_er=replace(space(20-len(jin_er)),' ','0')+cast(jin_er as varchar)
from 你的表
update 你的表 set [新字段名]=right([name]+SPACE(20),20)+right(REPLICATE('0',20)+rtrim(jin_er),20)