查看: 4309|回复: 19

【讨论】如何清洗旅客姓名字段

[复制链接]
论坛徽章:
1
优秀写手
日期:2014-05-30 05:59:14
发表于 2014-6-28 08:01 | 显示全部楼层 |阅读模式
旅客表里旅客姓名字段乱七八糟的,如 张三hg,tom&, hgj好,ht123,李嗣365,  王速@163.com,df1小强, 现在想清理一下数据,想更新成真正准确的姓名,最起码把中文和其他字符的变成中文,去掉其他字符,即:
张三hg  -〉张三
df1小强 -〉 小强
谢谢给出指点。
论坛徽章:
403
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
发表于 2014-6-28 09:54 | 显示全部楼层
translate(a,'$abcd1234','$')

使用道具 举报

回复
论坛徽章:
40
2015年新春福章
日期:2015-03-06 11:58:39优秀写手
日期:2014-12-16 06:00:14托尼托尼·乔巴
日期:2019-11-11 09:30:11妮可·罗宾
日期:2019-09-30 17:19:24山治
日期:2019-05-13 10:14:07娜美
日期:2019-02-13 12:49:56技术图书徽章
日期:2019-02-13 12:46:03罗罗诺亚·索隆
日期:2019-01-30 16:18:30弗兰奇
日期:2018-12-24 14:13:17托尼托尼·乔巴
日期:2018-06-26 14:55:07
发表于 2014-6-28 10:15 | 显示全部楼层
顶楼上的
SELECT TRANSLATE('df1小强','^0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz','^') FROM DUAL

使用道具 举报

回复
求职 : 数据分析/ETL
论坛徽章:
16
鲜花蛋
日期:2014-08-09 15:15:33秀才
日期:2019-11-14 15:05:06秀才
日期:2019-11-14 15:03:23秀才
日期:2019-11-14 14:53:19秀才
日期:2019-11-14 14:44:34秀才
日期:2019-11-14 14:31:30目光如炬
日期:2018-07-01 22:00:00目光如炬
日期:2018-04-02 17:00:02火眼金睛
日期:2017-11-30 22:00:00火眼金睛
日期:2017-11-01 17:00:02
发表于 2014-6-28 16:47 | 显示全部楼层
用一个upper或者 lower,楼上那个字符串就不用这么长了

使用道具 举报

回复
招聘 : 系统分析师
论坛徽章:
483
马上有钱
日期:2014-02-19 11:55:14itpub13周年纪念徽章
日期:2014-09-29 01:14:14itpub13周年纪念徽章
日期:2014-10-08 15:15:25itpub13周年纪念徽章
日期:2014-10-08 15:15:25马上有对象
日期:2014-10-12 11:58:40马上有车
日期:2014-11-16 17:11:29慢羊羊
日期:2015-02-09 17:04:38沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31ITPUB年度最佳版主
日期:2015-03-18 15:48:48
发表于 2014-6-28 23:40 | 显示全部楼层
stelfzhangxian 发表于 2014-6-28 16:47
用一个upper或者 lower,楼上那个字符串就不用这么长了

这样写法简洁,但效率未必好

使用道具 举报

回复
招聘 : 系统分析师
论坛徽章:
483
马上有钱
日期:2014-02-19 11:55:14itpub13周年纪念徽章
日期:2014-09-29 01:14:14itpub13周年纪念徽章
日期:2014-10-08 15:15:25itpub13周年纪念徽章
日期:2014-10-08 15:15:25马上有对象
日期:2014-10-12 11:58:40马上有车
日期:2014-11-16 17:11:29慢羊羊
日期:2015-02-09 17:04:38沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31ITPUB年度最佳版主
日期:2015-03-18 15:48:48
发表于 2014-6-29 01:04 | 显示全部楼层
用正则,写起来会更简单

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
发表于 2014-6-29 09:04 | 显示全部楼层
楼主你看看我这个对你是否有用
http://www.itpub.net/forum.php?mod=viewthread&tid=1839026

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
发表于 2014-6-29 09:26 | 显示全部楼层
本帖最后由 oracle_cj 于 2014-6-29 09:27 编辑

WITH T AS
(SELECT '张三hg,tom&' STR
    FROM DUAL
  UNION ALL
  SELECT 'hgj好'
    FROM DUAL
  UNION ALL
  SELECT 'ht123,李嗣365'
    FROM DUAL
  UNION ALL
  SELECT '王速@163.com'
    FROM DUAL
  UNION ALL
  SELECT 'df1小强' FROM DUAL)
SELECT TRANSLATE(UPPER(REGEXP_REPLACE(STR, '[[: punct:]]', '')),
                 '^1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ',
                 '^')
  FROM T;

使用道具 举报

回复
求职 : 数据分析/ETL
论坛徽章:
16
鲜花蛋
日期:2014-08-09 15:15:33秀才
日期:2019-11-14 15:05:06秀才
日期:2019-11-14 15:03:23秀才
日期:2019-11-14 14:53:19秀才
日期:2019-11-14 14:44:34秀才
日期:2019-11-14 14:31:30目光如炬
日期:2018-07-01 22:00:00目光如炬
日期:2018-04-02 17:00:02火眼金睛
日期:2017-11-30 22:00:00火眼金睛
日期:2017-11-01 17:00:02
发表于 2014-6-30 08:39 | 显示全部楼层
lastwinner 发表于 2014-6-29 01:04
用正则,写起来会更简单

正则表达式的中文字符怎么取匹配呢?

使用道具 举报

回复
认证徽章
论坛徽章:
5
奔驰
日期:2013-10-20 09:42:50优秀写手
日期:2014-05-22 05:58:582014年世界杯参赛球队: 美国
日期:2014-06-19 09:07:55美羊羊
日期:2015-03-04 14:52:282015年新春福章
日期:2015-03-06 11:58:18
发表于 2014-6-30 09:38 | 显示全部楼层
oracle_cj 发表于 2014-6-29 09:26
WITH T AS
(SELECT '张三hg,tom&' STR
    FROM DUAL

正则表达式的字符无效?punct是什么作用的?

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表