将excel中的十进制序列号正确转换为mysql
我有一个列的Excel CSV与这样的值
42973.74257
我想通过使用以下命令将其转换为MySQLdate时间:
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?
谢谢,
H
你的回答是两天错误的。
其中之一是因为它实际上把1900年1月1日当作1而不是0( ref )。
根据这个博客文章 ,这是closures的另一天,因为Excel不正确地把1900年作为一个闰年出于兼容性的原因。
如果在将值传递给公式之前从值中减去2,它应该可以工作。