1

我有一个大的 CSV 文件,其中包含按时间格式 41354 保存的日期,即 21/03/2013

它在 MS excel 上显示良好,但只是因为您可以将其格式化为日期 YYYY-mm-dd

但是,一旦上传到数据库,它就会显示像 0000:00:00 这样的日期,并且只有在 phpymyadmin 上按下每个单元格时它才会转换为正常日期

尝试使用加载文件

SET date = STR_TO_DATE(@date_conv, '%Y/%m/%d')

也尝试了多种解决方案,但没有任何帮助。

编辑

如下表

CREATE TABLE table1 (
  date date DEFAULT NULL
);

并创建一个新的 1.csv 文件并通过 ms excel 在 A1 单元格上制作 41354 ,将其格式化为日期,您将获得 21/03/2013

现在将其上传到您的数据库以发现日期为 0000:00:00

有什么建议吗?

4

1 回答 1

1

您需要为此值创建一个新日期:将天数 (41354) 加到“1900-01-01”。

例如(已编辑) -

文件文件.csv:

41354

桌子:

CREATE TABLE table1 (
  date date DEFAULT NULL
);

询问:

LOAD DATA INFILE 'file.csv' INTO TABLE table1(@var)
  SET date = DATE('1900-01-01') + INTERVAL @var DAY;

输出:

选择 * 从表 1;

+------------+
| date       |
+------------+
| 2013-03-23 |
+------------+
于 2013-03-22T13:47:06.250 回答