我在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?
谢谢,
ħ
答案 0 :(得分:3)
你的回答错了两天。
其中一天是因为它实际上将1900年1月1日视为 1 ,而不是0(ref)。
根据this blog post,由于遗产兼容性原因,Excel错误地将1900年视为闰年。
如果在将值传递给公式之前从值中减去2,则它应该有效。