正确地将十进制序列号从excel转换为mysql

时间:2017-08-28 16:24:59

标签: mysql excel datetime typeconverter

我在Excel csv中有一个列,其值为

  

42973.74257

我想通过使用:

将其转换为MySQL日期时间
  

DATE_ADD(' 1900-01-01',INTERVAL(42973.74257 * 60 * 60 * 24)秒)作为日期

然而,它会给我一个不正确的结果

  

2017-08-28 17:49:18.048000

虽然正确的结果应该是

  

8/26/2017 5:49:18 PM

它会在结果中再增加2天。由于我有大约1M行,所以我不知道所有结果是否都是错误的。

你们有没有更好的方法将序列号从excel转换为mysql?

谢谢,

ħ

1 个答案:

答案 0 :(得分:3)

你的回答错了两天。

其中一天是因为它实际上将1900年1月1日视为 1 ,而不是0(ref)。

根据this blog post,由于遗产兼容性原因,Excel错误地将1900年视为闰年。

如果在将值传递给公式之前从值中减去2,则它应该有效。