在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年的非闰年还久。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM