当前位置:   article > 正文

MySQL导出csv文件,数字过长出现科学计数法的问题_sql导出csv,科学计数问题

sql导出csv,科学计数问题

原创博文,欢迎转载,转载时请务必附上博文链接,感谢您的尊重。

问题描述:

使用 MySQL 客户端工具导出 excel 数据,如果某个字段为纯数字,并且 length 过长,在导出的文件中,它就会以科学计数法表示。

如:使用 Navicat 将某表数据导出为 csv 文件时,其中 18 位的身份证号就会以科学计数法表示。

通过上面的图片示例,可以发现:

  • 虽然数据库中身份证号已经是字符串类型,但是导出 excel 以后,过长的纯数字还是会被解析成科学计数法,没办法在 excel 中转义;
  • 如果是明确的字符串,再长也不会出现科学计数法,比如:以'X'结尾的身份证号码。

所以,如何告知 MySQL 我们需要的是字符串,就是我们解决问题的思路。


 解决方案:

在 MySQL 中,利用拼接函数 CONCAT(var1,var2)有2类解决办法:

  1. 让 MySQL 自动识别它为字符串,方法是在需要处理的字段前面加【'】,例:CONCAT('\'', pres_iden_no)
  2. 将字段转换成字符串,方法是在字段后面加【\t】(制表位),类似于Java字符串转换中的 + “” 操作,例:CONCAT(pres_iden_no, '\t')

我用【\t】(制表位)的方法举例,因为是我常用的方法:

SELECT id,prov_id,prov_name,coop_name,coop_address,CONCAT(pres_iden_no, '\t') as pres_iden_no,pres_name,pres_mobile FROM 'PRES_INFO';

导出 csv 格式结果展示:

 完美解决!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/688290
推荐阅读
相关标签
  

闽ICP备14008679号