美文网首页
MySQL存储换行和回车符问题

MySQL存储换行和回车符问题

作者: 社会我大爷 | 来源:发表于2022-03-05 21:59 被阅读0次

    背景:

    使用datax归档mysql数据到hdfs,发现hive中始终多出一些脏数据(id = 8),内容如下:

    脏数据

    排查思路:

    排查最终定位datax读取数据时产生了脏数据,原因在于datax类型转换:varhcar → string

    根据最靠近8这个值的id回到mysql中查处这样的数据,明显string_data存在特殊字符:

    查看原数据

    解决方法:

    mysql中对这两种特殊符号的存储为:

    char(10): 换行符 char(13): 回车符

    那我们可以用replace函数做查询转换:SELECT id,replace(string_data, char(10), '') FROM tb_querytable where id =178877467;

    替换特殊符号

    总结:

    这个问题本质上还是应用上写入不合法造成的,对varchar,text等类型的数据写入应该要通知到研发做数据的合法约束。

    相关文章

      网友评论

          本文标题:MySQL存储换行和回车符问题

          本文链接:https://www.haomeiwen.com/subject/zvnbrrtx.html