【发布时间】:2015-12-14 14:17:47
【问题描述】:
我正在使用以下 sql 将数据导出到 csv 文件:
select * INTO outfile 'customer.csv'
FIELDs terminated by ',' enclosed by '"'
LINES terminated by '\n'
from CUSTOMER customer
where customer.date_created < '2015-10-22 10:00:00';
我在 csv 中得到这个结果:
问题是没有从这个生成的 csv 导入数据,因为日期格式与 DB 中的不同。
数据库日期格式为 yyyy-mm-dd hh:mm:ss。空值也被替换为 \n ,这在导入时也会失败。
如何生成正确的 csv 列,即 yyyy-mm-dd hh:mm:ss 日期格式和空/空值?
错误: 日期时间值不正确:第 1 行的列“DATE_CREATED”的“23/07/2015 11:55” 不正确的整数值:第 1 行的列“column_name”的“\N”
注意: 我正在使用 mysql 工作台导入文件。 我不想直接在 csv 文件中更改格式/数据。
谢谢
更新: 感谢 AdrianBR,我意识到我首先用 excel 打开文件,它覆盖了日期格式,因此即使使用 notepad++ 也会显示错误的日期格式。 \n 仍然是一个问题。 第一次使用 notepad++ 打开时,它看起来像这样: "100","0","2015-12-02 10:16:36","2015-12-02 10:16:36","0",\N,
【问题讨论】:
-
这是 MySQL 还是 MS SQL Server?您已将其标记为两者。您已经向我们展示了电子表格程序认为 CSAV 文件中的内容 - 而不是 实际上 文件中的内容。在文本编辑器中打开它并查看。
-
" 日期格式与 DB 不同" 数据库通常将日期存储为二进制值,无需格式化。显示它们时如何格式化它们取决于您。
-
这是 excel,又名 FTFY
-
@MattGibson 他没有提到它是如何存储的,而是它是如何显示的,如果与那个 iso 字符串相比那就是 ISO。
-
@symcbean afaik ms sql 没有进入输出文件,但这可能无关紧要,因为我猜他的 CSV 很好,就像你说的那样