楼主: wonway
25447 12

[数据管理求助] 如何在string前面补0 [推广有奖]

  • 0关注
  • 4粉丝

硕士生

89%

还不是VIP/贵宾

-

威望
0
论坛币
801 个
通用积分
54.0353
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
2181 点
帖子
129
精华
0
在线时间
121 小时
注册时间
2008-4-13
最后登录
2022-5-2

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
数据库中公司的id是string,然后正常是6位的(包括数字和字母),发现有些id是少于六位,原因是前面的0没有了,比如"0025K4",写成了"25K4"。或者"00024J",写成"24J"
现在想将少于六位的全部在前面补0,s使其变成6位,请问怎么实现?谢谢
二维码

扫码加我 拉你入群

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

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

关键词:string tring RING ING 数据库 数据库 如何 字母

本帖被以下文库推荐

沙发
houquan 发表于 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
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 2 + 2 + 2 热心帮助其他会员
dxystata + 5 好的意见建议

总评分: 论坛币 + 5  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

We all love to instruct, though we can teach only what is not worth knowing. -- J. Austen

使用道具

藤椅
wonway 发表于 2011-4-8 16:27:53 |只看作者 |坛友微信交流群
非常感谢!!!!

使用道具

板凳
jzhyue 发表于 2011-4-8 19:04:59 |只看作者 |坛友微信交流群
replace id=substr("000000"+id,-6,.) if id!=""
已有 3 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员
ywh19860616 + 5 精彩帖子
dxystata + 10 好的意见建议

总评分: 论坛币 + 10  学术水平 + 8  热心指数 + 3  信用等级 + 3   查看全部评分

使用道具

报纸
voodoo 发表于 2011-4-8 20:40:19 |只看作者 |坛友微信交流群
jzhyue 发表于 2011-4-8 19:04
replace id=substr("000000"+id,-6,.) if id!=""
a great trick!
巫毒上传,必属佳品!
坛友下载,三思后行!

使用道具

地板
wangyao926 发表于 2013-10-22 16:26:09 |只看作者 |坛友微信交流群
houquan 发表于 2011-4-8 15:43
1# wonway
// id是string,然后正常是6位的(包括数字和字母),发现有些id是少于六位,原因是前面的0没 ...
十分感谢了

使用道具

7
auv 发表于 2013-10-26 01:01:27 |只看作者 |坛友微信交流群
可能这个回答跑题了,但是在excel中 **=text(a1,"000000")就直接搞好了

使用道具

8
ldm518 发表于 2018-3-23 09:36:33 |只看作者 |坛友微信交流群
感谢分享!

使用道具

9
windtalker312 发表于 2019-3-19 10:11:41 |只看作者 |坛友微信交流群
谢谢分享

使用道具

10
黃河泉 在职认证  发表于 2019-3-19 10:15:17 |只看作者 |坛友微信交流群
可考虑 ssc install addbefore!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 18:46