最近用mysql导出表数据到excel文件,mysql中的datetime类型导出到excel(excel2016)中被excel识别成它自己默认的日期格式了,在mysql中的格式形如 yyyy-mm-dd hh:mm:ss,到了excel变成了 yyyy/m/d h:mm,看起来不太习惯,当然可以通过设置excel单元格格式改成自定义格式 yyyy-mm-dd hh:mm:ss,但是这样多了一个步骤,能不能直接从mysql导出到excel的就是mysql显示的样式呢?当然可以。
开始猜想是由于mysql中该字段是datetime类型的,导出到excel后excel自动转为它的日期类型,所以可以通过mysql的date_format函数把datetime转为字符串,以为没有问题,结果还是一样的,猜想是对于这种标准日期的字符串的格式excel也会识别成日期格式,于是在导出语句中加上一个字符串的日期,验证了我的猜想。所以就寻思打破这种默认的日期格式但使得它看上去又没什么差别,所以在用date_format转为字符串时,在前面加上一个空格,这样就完美解决了。
测试用表及测试数据
CREATE TABLE `users` ( `username` varchar(255) NOT NULL, `create_time` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; # 插入测试数据 INSERT INTO `users`(`username`, `create_time`) VALUES ('李四', '2018-10-11 15:54:23'), ('张三', '2018-10-12 15:54:14');
导出excel语句,注意DATE_FORMAT函数里面的格式前面加了个空格(由于表的格式是utf8的,要保证excel打开后不乱码,需要把格式转换为gbk)
SELECT username, DATE_FORMAT( create_time, ' %Y-%m-%d %H:%i:%s' ) FROM users INTO OUTFILE '/tmp/user_info.xls' CHARACTER SET gbk;
大功告成,这样导出的excel,不会在把日期识别成日期格式,而变成了文本格式,这样就能展示自己想要的风格的日期了
补充知识:将Excel文件导入到Navicat Premium中日期变为0000-00-00的解决方案
问题
在某些场景下,需要将本地文件导入到Navicat中。笔者今天遇到的问题是,将excel文件成功导入后,一个在excel中原本正确的日期字段在Navicate中却变成了“0000-00-00 00:00:00”,实在是匪夷所思。
分析
经过观察发现,该日期字段在excel中似乎没有全部显示,比如本来是2018/10/1 0:01:42,excel中显示为01:42.0,于是尝试在excel中修改了该列的单元格格式,重新导入Navicate中,问题得到解决。详细解决方法请见下方。
解决方法
1.导入前,在excel中修改单元格格式,设置为自定义,类型为yyyy/m/d h:mm:ss,并保存文件。
2.重新将文件导入到Navicate中即可。
以上这篇浅谈mysql导出表数据到excel关于datetime的格式问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
问题内容: 如何在C#中格式化DateTime.Now的字符串结果以插入到DATETIME类型的MySQL数据库表列中? 我尝试了以下操作,但未成功: 问题答案: 不要在查询中添加文字日期,而应使用参数。这样,您不必担心格式。用户输入的字符串也更安全,因为它可以防止SQL注入。
本文向大家介绍c# 将Datatable数据导出到Excel表格中,包括了c# 将Datatable数据导出到Excel表格中的使用技巧和注意事项,需要的朋友参考一下 话不多说,请看代码: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
本文向大家介绍浅谈关于iview表单验证的问题,包括了浅谈关于iview表单验证的问题的使用技巧和注意事项,需要的朋友参考一下 关于iview表单验证的问题 iview表单验证的步骤: 第一步:给 Form 设置属性 rules :rules 第二步:同时给需要验证的每个 FormItem 设置属性 prop 指向对应字段即可 prop=”“ 第三步:注意:Form标签里面是 :model
问题内容: 我正在尝试将MySQL数据保存到Excel文件,但是Excel单元格出现问题。我所有的文本都放在一个单元格中,我希望每个行值都在单独的Excel单元格中。这是我的代码: 问题答案: 尝试以下方法: PHP部分: 我认为这可以帮助您解决问题。
本文向大家介绍浅谈Java中格式化输出,包括了浅谈Java中格式化输出的使用技巧和注意事项,需要的朋友参考一下 格式化控制台输出 要点提示: 在控制台上显示格式化输出:System.out.printf方法 常用的格式标识符 (图片来源: java核心技术卷1(第九版)) 格式标识符的解释 % 4 . 2 f 4为域宽度.输出的浮点数条目宽度至少为4,包括小数点和小数点后两位数字.这样,给小数点前
通过对数据表的导入导出,可以实现 MySQL 数据库服务器与其它数据库服务器间移动数据。导出是指将 MySQL 数据表的数据复制到文本文件。数据导出的方式有多种,本节主要介绍使用 SELECTI...INTO OUTFILE 语句导出数据。 在 MySQL 中,可以使用 SELECTI...INTO OUTFILE 语句将表的内容导出成一个文本文件。SELECT...INTO OUTFILE 语句