暂无图片
MySQL5.7.26版本,如何将表中某个字段的每一个证件号码单独取出来
我来答
分享
吴某某
2022-11-04
MySQL5.7.26版本,如何将表中某个字段的每一个证件号码单独取出来
暂无图片 10M

MySQL5.7.26版本,如何将表中某个字段的每一个证件号码单独取出来,单独插入到另一个临时表中。
[420922199003172513,420922199003172311,42092219780312231X,420922194511123301]
[420922199506111322]
[42092219770212132X]


最终结果应该是这样
420922199003172513
420922199003172311
42092219780312231X
420922194511123301
420922199506111322
42092219770212132X

需求是想把这张表里面的这个字段的证件号码全部查出来,然后去重得出唯一的证件号码,最后插入到另一个表里面去。

我来答
添加附件
收藏
分享
问题补充
9条回答
默认
最新
chengang
create table teststr(ids varchar(1000)); insert into teststr select '420922199003172513,420922199003172311,42092219780312231X,420922194511123301' union all select '420922199506111322' union all select '42092219770212132X' union all select '123,567'; SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(ids,',',help_topic_id+1),',',-1) AS num FROM mysql.help_topic ,teststr WHERE help_topic_id < LENGTH(ids)-LENGTH(REPLACE(ids,',',''))+1
复制

执行结果
image.png

暂无图片 评论
暂无图片 有用 2
打赏 1
暂无图片
吴某某
题主
2022-11-04
卧槽,大神。谢谢你~
吴某某
题主
2022-11-04
给大神10墨值赞赏,感谢感谢~
2022-11-05
展开全部评论(2条)
张sir

你这个最好是查出来用shell处理下,不要让数据库做这种处理。

暂无图片 评论
暂无图片 有用 0
打赏 0
吴某某

谢谢,我几千万的数据,用shell不好处理吧,而且我不擅长shell

暂无图片 评论
暂无图片 有用 0
打赏 0
张sir

不用shell,用别的也可以,java、python、c都可以。这种涉及逻辑处理的,不适合在数据库执行,尤其你有几千万数据,mysql会被托的特别慢。

暂无图片 评论
暂无图片 有用 0
打赏 0
李宏达
  • 我也感觉shell更容易处理这种需求,把字段csv导出,shell处理一下,csv导入到新表,会容易很多。
  • 我想到的SQL处理方法就是匹配字段长度或者通配“,” 做行转列然后插入去重,大于18位的直接插。
暂无图片 评论
暂无图片 有用 0
打赏 0
吴某某

那请问一下,怎么把字符前后的中括号去掉呢

暂无图片 评论
暂无图片 有用 0
打赏 0
chengang
2022-11-04
再套一个SUBSTRING 就可以去掉括号了啊
chengang

一模一样的数据写了一个

create table teststr(ids varchar(1000)); insert into teststr select '[420922199003172513,420922199003172311,42092219780312231X,420922194511123301]' union all select '[420922199506111322]' union all select '[42092219770212132X]' union all select '[123,567]'; SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(ids,',',help_topic_id+1),',',-1) AS num FROM mysql.help_topic , (select substr(ids,2,length(ids)-2) as ids from teststr) as t WHERE help_topic_id < LENGTH(ids)-LENGTH(REPLACE(ids,',',''))+1
复制

image.png

暂无图片 评论
暂无图片 有用 0
打赏 0
张sir
2022-11-04
学习了,还有这种用法不过几千万数据,我觉得这个可能不太灵

学习了

暂无图片 评论
暂无图片 有用 4
打赏 0
好好学习

学习了

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏