Excel的日期時間值看起來像42291.60493,這意味着MySQL把它們視爲字符串而不是日期。 有沒有可以將它們轉換爲MySQL datetime的MySQL代碼? (即like in MS SQL)MySQL代碼轉換Excel日期時間
2
A
回答
2
我能想到的2個解決方案:
Excel內將您的日期,使用Excel內的文字()函數符合MySQL的日期和時間格式格式化的日期字符串。
轉換MySQL的內使用計算日期的數量:
(下面的表達式可以被簡化)
select date_add(date_add(date('1899-12-31'), interval floor(@datefromexcel) day), interval floor(86400*(@datefromexcel-floor(@datefromexcel))) second)
+0
好的答案。如果你需要微秒來正確舍入,修改爲date_add(date_add(date '1899-12-31'),間隔層(@datefromexcel)日),間隔層(86400000000 *(@ datefromexcel-floor(@datefromexcel)))微秒) – jdog
1
Excel將日期時間存儲爲自1899-12-31以來的天數。 Unix存儲自1970-01-01以來的秒數,但只允許非負值。
因此,對於日期,你可以做
select date_add(date('1899-12-31'), interval $Exceldate day)
這並不適用於小數個工作日內。但是,對於unix日期時間,這將是很好的:
select $ExcelDate*24*60*60 + unix_timstamp('1899-12-31')
但負值是有問題的。因此,這需要如下所示:
select ($ExcelDate - datediff('1899-12-31', '1970-01-01')) * 24*60*60
也就是說,只需計算自Unix截止日期以來的秒數。注意:這裏假定日期在1970-01-01之後,因爲MySQL在截斷之前不理解unix日期。
相關問題
- 1. 將時間和日期轉換爲mysql日期時間
- 2. 轉換MSSQL日期時間到MySQL的日期時間
- 3. 從MySQL日期時間轉換到Coldfusion日期時間
- 4. Python:將MySQL日期時間轉換爲日期時間格式
- 5. 如何轉換Excel的日期/時間劃時代
- 6. Sqlite時代日期時間轉換
- 7. 日期時間從CSV轉換到MySQL
- 8. MYSQL日期時間 - PHP轉換
- 9. C#MySQL的LINQ日期時間轉換
- 10. 轉換日期時間在MySQL和PHP
- 11. 日期時間轉換在MySQL和JavaScript
- 12. MySQL轉換爲日期時間
- 13. MySQL時間戳到Java日期轉換
- 14. MySQL錯誤轉換爲日期時間
- 15. 日期時間轉換到Excel日期在F#
- 16. Excel 2010將文本(日期+時間)轉換爲日期
- 17. Ruby將Mysql時間戳轉換爲Mysql日期時間
- 18. 在excel中將文本日期/時間轉換爲實際日期時間
- 19. 將excel日期時間序列號轉換爲R日期時間
- 20. 節省日期時間轉換日期
- 21. 轉換日期時間
- 22. ASP.NET日期/時間轉換
- 23. 轉換日期時間
- 24. 日期時間JodaTime轉換
- 25. 轉換日期時間IST
- 26. 日期時間轉換
- 27. 轉換日期時間
- 28. c#,日期時間轉換
- 29. SQLite日期時間轉換?
- 30. SQL轉換日期時間
我想你導入從CSV數據不擅長。 –
你如何從Excel中獲取數據到MySQL?使用Excel本身可能更容易在導出時轉換爲標準日期時間格式。這可能是最簡單的,它肯定會是正確的。 –
我在Excel中使用帶有參數(如日期)的Microsoft Query。我可以重新格式化Excel中的日期,直到我心中的喜悅,但這只是在Excel中顯示。 – LWC