前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >oracle特殊符号去除问题

oracle特殊符号去除问题

作者头像
小徐
发布2019-08-05 15:12:52
1.9K0
发布2019-08-05 15:12:52
举报
文章被收录于专栏:GreenplumGreenplum

最近在搞Oracle相关的工作,发现在Oracle中可以储存特殊符号的,但是把数据放到其他的数据库里面就不可以了,例如PG中,为了解决脏数据的问题,作者可是费了不少的心思啊!!把这段时间遇到的问题总结一下,也希望大家遇到了之后方便解决。

1 特殊符号问题方法

1-1特殊符号查看表

https://blog.csdn.net/xfg0218/article/details/80901752

1-2 regexp_replace用法实例

https://blog.csdn.net/gxftry1st/article/details/22489275

1-3 replace 用法实例

网上很多说replace的,个人感觉replace不好玩,没有regexp_replace功能强大,使用方便

2 问题汇总

2-1 文件分隔符问题(FS)

2-1-1 问题描述

示例如下所示

2-1-2 问题解答

以上出现特殊符号后如果该字段确保只需要中文汉字其他的什么都不要的话可以使用以下正则

select regexp_replace('丹参滴丸多对的212121', '[^[:alpha:]]', '') AS OPSCOPE from dual;

2-2 空字符问题(NUL)

2-2-1 问题描述

当出现以下字段有NUL特殊字符时也可以使用正则去匹配

2-2-2 问题解答

以上出现特殊符号后如果该字段确保只需要数字的情况下可以使用以下正则

select regexp_replace('156s22,f33对的', '[^[:digit:]]', '') AS OPSCOPE from dual;

2-3 设备控制二(DC2)

2-3-1 问题描述

这个特殊符号实在没有见过,这次长见识了。

2-3-2 问题解答

以上出现特殊符号后如果该字段确保只需要中文加数字的情况下可以使用正则

select regexp_replace('156s22,f33对的', '[^[:alnum:]]', '') AS OPSCOPE from dual;

3 常用oracle函数

3-1 全角转半角实例

Select to_single_byte('京东(北京)科技有限公司') from dual;

3-2 去除去除单双引号

select regexp_replace(to_single_byte('京东(北京)""科技有限公司'),'^|"','') from dual;

3-3 去除字段中最后一个特殊符号问题

ABUITEM 是字段的名字

case when length(regexp_replace(substr(ABUITEM,length(ABUITEM),(length(ABUITEM)-1)),'[^[:alnum:]]', '')) = 1 then ABUITEM

else substr(ABUITEM,0,length(ABUITEM)-1)

end as ABUITEM

3-4 去除到处第二个特殊符号问题

OPSCOPE 是字段的名字

69 是该字段截取后的长度

when length(substr(OPSCOPE,0,length(OPSCOPE)-2)) = 69 then substr(OPSCOPE,0,length(OPSCOPE)-2)||substr(OPSCOPE,length(OPSCOPE),length(OPSCOPE)-1)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 河马coding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 特殊符号问题方法
    • 1-1特殊符号查看表
      • 1-2 regexp_replace用法实例
        • 1-3 replace 用法实例
        • 2 问题汇总
          • 2-1 文件分隔符问题(FS)
            • 2-1-1 问题描述
            • 2-1-2 问题解答
          • 2-2 空字符问题(NUL)
            • 2-2-1 问题描述
            • 2-2-2 问题解答
          • 2-3 设备控制二(DC2)
            • 2-3-1 问题描述
            • 2-3-2 问题解答
        • 3 常用oracle函数
          • 3-1 全角转半角实例
            • 3-2 去除去除单双引号
              • 3-3 去除字段中最后一个特殊符号问题
                • 3-4 去除到处第二个特殊符号问题
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档