经常遇到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避免显示为科学记数法 解决方法的更多相关文章

  1. 【MySQL】导出长数字到 Excel 避免转为科学计数法方法

    MySQL 导出比较长的数字到 Excel 时,最后几位会变成 0,解决方法如下: 如果只需要导出展示.打印:可使用 CONCAT("\t",str) 如果需要后续处理,引用,最好 ...

  2. 修复ThinkPHP导出excel数字过大时显示为科学记数法

    修复ThinkPHP导出excel数字过大时显示为科学记数法,这种显示对于查看的用户来说是及其不友好的.所以,我们要使其转化为正常的数字串! 我在google 的过程中,查了一些资料.其中 1).// ...

  3. C#读取Excel遇到无法读取的解决方法

    C#读取Excel遇到无法读取的解决方法:1.在导入数据连接字符串中,将IMEX=1加入,“Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\ ...

  4. ubuntu下mysqli_connect()显示未定义,mysqli_fetch_all()显示未定义 解决方法

    mysqli_connect()显示未定义解决方法: http://www.cnblogs.com/misoag/archive/2013/01/24/2874439.html 让apache.php ...

  5. Npoi Web 项目中(XSSFWorkbook) 导出出现无法访问已关闭的流的解决方法

    原本在CS项目中用的好好的在BS项目中既然提示我导出出现无法访问已关闭的流的解决方法 比较郁闷经过研究 终于解决了先将方法发出来 让遇到此问题的筒子们以作参考 //新建类 重写Npoi流方法 publ ...

  6. 【small项目】MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:

    MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link ...

  7. mysql left join 右表数据不唯一的情况解决方法

    mysql left join 右表数据不唯一的情况解决方法 <pre>member 表id username1 fdipzone2 terry member_login_log 表id ...

  8. golang github.com/go-sql-driver/mysql 遇到的数据库,设置库设计不合理的解决方法

    golang github.com/go-sql-driver/mysql 遇到的数据库,设置库设计不合理的解决方法,查询中报了以下这个错 Scan error on column index 2: ...

  9. photoshop菜单显示不全的解决方法

    photoshop菜单显示不全? 解决方法,选择菜单 编辑->菜单,下拉菜单选择photoshop默认值

随机推荐

  1. JS的document.images函数使用示例

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. 利用Vmware 创建Linux虚拟机的方法

    https://blog.csdn.net/qq_34929457/article/details/52663265 使用VMware新建一个Linux系统虚拟机 原创 2016年09月25日 17: ...

  3. springboot获取properties文件的配置内容(转载)

    1.使用@Value注解读取读取properties配置文件时,默认读取的是application.properties. application.properties: demo.name=Name ...

  4. socket.io常用api

    1. 服务端 io.on('connection',function(socket)); 监听客户端连接,回调函数会传递本次连接的socket io.sockets.emit('String',dat ...

  5. Huawei® ENSP & VRP CheatSheet

    #################### 系统命令 #################### system-view sysname display current-configuration und ...

  6. spring boot swagger-ui.html 404

    很奇怪的问题,找了好久. 因为spring boot+swagger实现起来很简单.看下面三部曲: 1.pom添加两个swagger依赖. <!-- Swagger依赖包 --> < ...

  7. Docker Compose安装以及入门

    Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用. Compose 简介 Compose 项目是 Docker 官方的开源 ...

  8. 浪院长 | spark streaming的使用心得

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/rlnLo2pNEfx9c/article/details/82505159 今天.主要想聊聊spar ...

  9. 减少apk包大小的一种思路

    现在apk大小主要是决定于两个:一个是图片一个是.SO文件(这个尽量用release包),而对于图片,既要越小,又要保持质量. 之前是PNG --> JPG, 现在直接是PNG ---> ...

  10. pandas.Dataframe复杂条件过滤

    https://stackoverflow.com/questions/11418192/pandas-complex-filter-on-rows-of-dataframe mask = df.ap ...