首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何处理数据库表字段值中的特殊字符?

如何处理数据库表字段值中的特殊字符?

作者头像
披头
发布2020-11-20 10:25:39
4.4K0
发布2020-11-20 10:25:39
举报
文章被收录于专栏:datartisandatartisandatartisan

现网业务运行过程中,可能会遇到数据库表字段值包含特殊字符的场景,此场景虽然不常见,但只要一出现,其影响却往往是致命的,且排查难度较高,非常有必要了解一下。

表字段值中的特殊字符可以分为两类:可见字符、不可见字符。

可见字符处理

业务的原始数据一般是文本文件,因此,数据插入数据库表时需要按照分隔符进行分割,字段值中包含约定的分隔符、文本识别符都属于特殊字符。

常见的分隔符:, | ;

文本识别符:'' ""

这种特殊字符会导致数据错列,json无法翻译等问题,严重影响业务运行,应该提前处理掉。有人就说了,我接手的别人的数据库,不清楚是不是存在这个问题,这个咋办呢?没关系的,一条update语句就可以拯救你。

-- 语法
UPDATE 
   table_name
   SET 
   column_name = REPLACE(column_name, old_text, new_text)
 WHERE 
   condition;
-- 应用样例
UPDATE 
   customer
   SET 
   email = REPLACE (email, '|', '_');

不可见字符处理

上边讲述了可见字符的处理,对于不可见字符例如:换行符LF、回车键CR,又该如何处理呢?别怕,sql支持unicode编码,把换行符、回车键对应的unicode编码转换为空就好了。

UPDATE `WORKORDER` 
   SET WORKID = REPLACE(REPLACE(WORKID, CHAR(10),''), CHAR(13),'');
-- 这里使用了函数的嵌套,一条语句完成了换行符和回车键的转换,也可以转换两次。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乐享数据8090 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 可见字符处理
  • 不可见字符处理
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档