经常遇到MYSQL导出长数字或纯数字字符串(如身份证、卡券号、条码、流水号等)到csv或excel文件,用excel打开会显示为科学记数法,甚至后几位转为0。这是由Excel的特性决定的:Excel显示11位以上的数字时,会自动转化为科学计数法,如果长度大于15位,15位以后数字还会转成0。

网上搜到的解决办法是在该长数字前增加tab字符:

即:

CONCAT("\t",str)

其中 \t 为制表符(即键盘上的Tab键)的转义符

实践时发现按此方法导出的文件打开后虽然显示为文本字符,但长度多了1,在字符前多了一个不可见空格(制表符),删掉才是原来的字符。

如果只是展示、打印倒无妨,但如果需要后续引用该字符串(如用VLOOKUP匹配),因为前面多了一个不可见的空格,长度也多了一位,则可能会出错。

后来想起excel输入长数字的可在数字前输入单引号”‘”强制转为文本,在 mysql输出时也可以试试,测试可用:

即:

CONCAT("'",str)

或者

CONCAT("\'",str)

另外注意需保存为excel文件,即xls或xlsx文件,该数字即已强转为文本格式;如保存为csv,用excel打开则显示为可见单引号+数字形式,原因尚不明。

总结:

1.如果只需要导出展示、打印:可使用CONCAT("\t",str)

2.如果需要后续处理,引用,最好使用CONCAT("'",str)或者CONCAT("\'",str),并导出为EXCEL文件。

解决办法:在导出查询时,使用MySQL中concat函数给长数字的字段加上单引号",",再点击【导出向导】导出excel,excel打开就显示正常的长数字了,

SELECT CONCAT("`",p_card_num),card_num FROM ppos_member_card_src WHERE p_card_num=002580986

SELECT CONCAT("\t",p_card_num),card_num FROM ppos_member_card_src WHERE p_card_num=002580986

mysql导出excel 科学计数法_mysql导出长数字到excel避免显示为科学记数法 解决方法...相关推荐

  1. vb 导出整数 科学计数法_可整数组的计数

    vb 导出整数 科学计数法 Problem statement: 问题陈述: Given two positive integer n and m, find how many arrays of s ...

  2. mysql导出长数字到excel避免显示为科学记数法 解决方法

    mysql导出长数字到excel避免显示为科学记数法 解决方法 参考文章: (1)mysql导出长数字到excel避免显示为科学记数法 解决方法 (2)http://www.cnblogs.com/z ...

  3. java科学计数法转十进制_Linux下科学计数法(e)转化为数字的方法

    科学计数法使用e标识数值,将科学计算学转化为数字的思路:按e右边的数字移动小数点位数.e右边的数字如果是负数,则向左移动小数点.示例如下: 1.2345678e2 = 123.45678 1.2345 ...

  4. php导出数字成科学计数法,php导出excel长数字显示成科学计数法格式的解决方案...

    php导出excel长数字显示成科学计数法格式的解决方案 首先,我们了解一下excel从web页面上导出的原理.当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所 ...

  5. java导出excel 科学计数法_基于Java将Excel科学计数法解析成数字

    需要注意的是一般的科学表达式是 1.8E12 1.8E-12 而在Excel中的科学表达式是 1.8E+12 1.8E-12 我写的科学计数法的正则表达式是 (-?\d+\.?\d*)[Ee]{1}[ ...

  6. excel 科学计数法转换成文本完整显示_避免万次暴击,巧办法解决数字和文本之间的快速转化...

    很多朋友在在数据整理的过程中都遇到过下图这种情况,大量数字内容,因为数字内容较长,excel以科学计数法进行了显示,多数时候我们会选中列设置单元格格式为文本,但单元格内容并不会转化为文本,需要对每个单 ...

  7. excel 科学计数法转换成文本完整显示_表格技巧—Excel里身份证号码显示不全的多种解决办法...

    运用Excel表格可以快速统计和汇总数据,那么当在表格当中输入身份证号码时,表格通常显示不完全,这是为什么呢,今天小编就来给大家详细介绍当身份证号码显示不全时的多种解决办法,一起来学习一下吧. 首先, ...

  8. php基础:查询程序运行时间并且把科学计数法转换成正常数字

    $a = microtime(true); echo 'sdfsdfsdf'; $b = microtime(true); $c = $b-$a; echo "<br/>&quo ...

  9. linux识别科学计数法,Linux下科学计数法(e)转化为数字的方法 [shell中几种数字计算说明]...

    科学计数法使用e标识数值,将科学计算学转化为数字的思路:按e右边的数字移动小数点位数.e右边的数字如果是负数,则向左移动小数点.示例如下:1.2345678e2 = 123.45678 1.23456 ...

最新文章

  1. Java反射实践:从反射中理解class
  2. map has no len python3
  3. boost::process::async_pipe相关的测试程序
  4. 使用bakefile编译C工程代码
  5. 线程的属性 —— 分离的状态(detached state)、栈地址(stack address)、栈大小(stack size)
  6. linux shell rman删除归档_我们一起学一学渗透测试——黑客应该掌握的Linux基础
  7. linux安装 中文乱码怎么解决方法,Linux安装GBK/GB2312程序显示乱码的五种解决方法...
  8. python中算法定义_python算法
  9. 树:二叉树的非递归遍历算法
  10. 【SICP练习】80 练习2.52
  11. 数据挖掘案例(1):泰坦尼克号-数据挖掘流程
  12. vue项目加载OCX控件以及控件的主动事件和回调事件的处理
  13. 等额本息计算公式推导
  14. PLC基础知识,详细解说PLC的优势,特点,功能,分类,应用领域及安装注意事项
  15. web咸鱼自救攻略--typescript的类没有你想象中的那么难
  16. dna计算机开发,科学家正在开发DNA电脑
  17. bzoj 1646 bfs
  18. Linux 内核likely与unlikey
  19. Weinre《调试使用》
  20. WIN8发展趋势分析

热门文章

  1. 如何在Sqlserver 中创建非dbo 的表
  2. 【C51单片机】交通红绿灯设计(仿真)
  3. 计算机专业专科可以进的国企,适合专科生报考的4大“专业”,国企事业单位抢着要,还能拿编制...
  4. 英特尔第十代处理器为什么不支持win7_10代cpu能不能装win7?10代cpu装win7全面分析(支持十代cpu)...
  5. Studio 3T 破解教程 mogodb
  6. 谷歌关闭SameSite功能
  7. autocad.net 画多段线_AutoCAD2016绘制多段线图文教程
  8. 华三光纤交换机默认密码和重置方法
  9. mysql源码安装详解
  10. macOS 入门指南