在SQL中转换Excel导入的日期数字转换日期格式的算法

最近做一个导入,Excel的日期导入到数据库中就变成了数字。如何算回去呢?

度娘了一下,没有很多相关问题。

但得到一个信息时1900-01-01到日期的天数。

然后我尝试通过函数自己计算,发现了坑,始终会差2天,

于是我尝试在Excel中输入0,它会转换为日期 1900/1/0,输入1会转换为1900/1/1。

所以我们应该 用 1899-12-31来加这个数字,

 

 但是,新的问题有来了,当我们处理60这个值时,发现,Excel的日期对闰年的处理有问题。

 闰年计算:百科:https://baike.baidu.com/item/%E9%97%B0%E5%B9%B4%E6%95%B0/5283550?fr=aladdin 

所以,我们换算时还要处理闰年问题。

当前最简单的方法,是处理60数值前后的算法分开算,超过60就多减一天。毕竟离下一个100年的非闰年还久。

=============================================================================
  文章结束,如有问题请留言,感谢!٩( 'ω' )و 
=============================================================================
原文地址:https://www.cnblogs.com/miaolin/p/13542153.html