700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > MySQL导出csv文件 数字过长出现科学计数法的问题

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

时间:2019-08-09 03:26:32

相关推荐

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

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

问题描述:

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

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

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

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

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

解决方案:

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

让 MySQL 自动识别它为字符串,方法是在需要处理的字段前面加【'】,例:CONCAT('\'', pres_iden_no)将字段转换成字符串,方法是在字段后面加【\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 格式结果展示:

完美解决!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。