全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
28543 12
2011-04-08
数据库中公司的id是string,然后正常是6位的(包括数字和字母),发现有些id是少于六位,原因是前面的0没有了,比如"0025K4",写成了"25K4"。或者"00024J",写成"24J"
现在想将少于六位的全部在前面补0,s使其变成6位,请问怎么实现?谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-4-8 15:43:33
1# wonway
// id是string,然后正常是6位的(包括数字和字母),发现有些id是少于六位,原因是前面的0没有了
// 比如"0025K4",写成了"25K4"。或者"00024J",写成"24J"
// 将少于六位的全部在前面补0,使其变成6位

set more off
set linesize 255

clear

cd c:\data

input str6 id
4
K4
5K4
25K4
125K4
0125K4
end

gen str6 id_rvsd = id
replace id_rvsd = id if length(id) == 6
replace id_rvsd = "0" + id if length(id) == 5
replace id_rvsd = "00" + id if length(id) == 4
replace id_rvsd = "000" + id if length(id) == 3
replace id_rvsd = "0000" + id if length(id) == 2
replace id_rvsd = "00000" + id if length(id) == 1
list
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-4-8 16:27:53
非常感谢!!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-4-8 19:04:59
replace id=substr("000000"+id,-6,.) if id!=""
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-4-8 20:40:19
jzhyue 发表于 2011-4-8 19:04
replace id=substr("000000"+id,-6,.) if id!=""
a great trick!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-10-22 16:26:09
houquan 发表于 2011-4-8 15:43
1# wonway
// id是string,然后正常是6位的(包括数字和字母),发现有些id是少于六位,原因是前面的0没 ...
十分感谢了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群