需求:
excel表的数据导入sqlserver,数据格式为8位数或9位数:12345678 或123456789,但是目标格式为9位数:012345678,123456789。
目标是9位,少几位就在左边补几个0
方法一:对已导入的数据通过sql语句解决
sql语句:
declare @num int=2215,@num2 int,@num3 nvarchar(max)
while(@num<=2729)
begin
set @num2 = (select [Person_UserName] FROM [Person_Info] where [Person_Id]=@num)
set @num3 = RIGHT('000000000'+CONVERT(nvarchar(50),@num2),9)
select RIGHT('000000000'+CONVERT(nvarchar(50),@num2),9)
update [Person_Info] set [Person_UserName] = @num3 where [Person_Id]=@num
set @num+=1
end
其中2215,2729是对目标区间的数据进行操作,即Person_Id在2215-2729之间的数据
方法二:还未导入数据,可对excel进行操作直接导入
1.点击空的列中的一个格子,然后输入表达式 =TEXT(B2,“000000000”)
B2代表你第一个数的位置,后面的参数表示你想要的格式,我希望的格式是9个0.你们根据需求自己修改成m个n都可以。
成功后可见第一个数补上一个0后在上面的空格子中出现
2.鼠标放置在格子的右下角,变成加号
3.按住后向下拖动,即可获得相对应的所有转换后的数据
4.把获得的新数据复制粘贴至原来数据的地方,粘贴时选择粘贴为数值即可。