MySQL导出数据到csv,但打开出现数据截断现象的问题解决

同事提了一个从MySQL导出数据到csv文件,但是通过Excel打开却出现整数截断的问题。

模拟这个过程,测试表的id字段类型是bigint(30),如下所示,

通过DBeaver等客户端进行数据的导出,生成一个csv,此时用excel打开,发现id字段值后5位出现了截断,这是为什么?

其实,从数据库导出的字段值位数是正确的,我们用记事本可以直接打开这个csv文件,可以看到,数据是正确的,说明应该不是数据库的问题。

我们要了解,究竟什么是csv文件?

CSV,是Comma Separated Values的缩写,有时也叫字符分隔值(因为分隔符可以不是逗号),文件以纯文本形式存储表格数据(数字和文本),纯文本则意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符,通常,所有记录都有完全相同的字段序列。

csv可以用记事本正常打开,Excel也可以打开,因为Excel支持CSV格式,但是Excel默认限制数字长度为15位,这就导致出现上述显示后5位截断的现象。

此时不能通过更改单元格格式进行调整了,因为已经用Excel打开,数据存储为数值型的,精度已经损失。

如果就想用Excel打开csv,并且不能丢精度,可以点击”数据”-“自文本”,选择csv文件,

在文本导入向导,将id列的数据格式选择为”文本”,

此时,打开csv文件中的数据是正确的了,

另外,如果临时性导入一些位数较多的csv数据,可以数字前加单引号,表示是字符型,避免让Excel将它按照数值类型存储出现截断的问题,但多了个”‘”,需特殊处理下。

如果您认为这篇文章有些帮助,还请不吝点下文章末尾的”点赞”和”在看”,或者直接转发朋友圈,

近期更新的文章:
《日本篮球革新,我们能学到什么?》
《开源生态的风险和挑战》
《沉浸式体验中超工体收官之战》
《金融行业信创运维体系建设》
《骑自行车减肥靠谱么?》

热文鉴赏:
《中国队“自己的”世界杯》
《你不知道的C罗-Siu庆祝动作》
《架构设计的15个关键概念》
《大阪环球影城避坑指南和功略》
《推荐一篇Oracle RAC Cache Fusion的经典论文》
《”红警”游戏开源代码带给我们的震撼》

文章分类和索引:
《公众号1600篇文章分类和索引》

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/423660.html

联系我们
联系我们
分享本页
返回顶部