我们经常会遇到要从MySQL导出长数字的状况,例如导出身份证号、订单号等等。而导出后在Excel中打开后却是用科学计数法显示的,过长的话,后面几位数字全都转换为0了,这跟我们想要的结果完全不一样了。那为什么会这样呢?这是由Excel的特性决定的:Excel显示11位以上的数字时,会自动转化为科学计数法,如果长度大于15位,15位以后数字还会转成0。

当然,这种情况是完全可以避免的,解决方法就是在长数字前加入tab字符:

CONCAT("\t", string)

其中\t是制表符的转义符,这样导出来的csv文件中的长字符就可以原样显示,不会被转为为科学计数法了。

发表新评论