在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