MySQL:將日期字串轉換為Unix 時間戳
從資料庫檢索日期字串時,遇到格式不一致的問題並不罕見,例如包含AM 或PM 後綴的時間戳記。本文示範如何有效地將這些日期字串轉換為 Unix 時間戳記。
目前的具體問題是將「Apr 15 2012 12:00AM」格式的字串轉換為 Unix 時間戳記。雖然使用CONVERT(DATETIME, Sales.SalesDate, 103) 和CONVERT(TIMESTAMP, Sales.SalesDate, 103) 的初始嘗試可能不成功,但解決方案在於以下步驟:
步驟1:將日期字串轉換為DATETIME
首先,我們需要轉換日期使用STR_TO_DATE 函數將字串轉換為 DATETIME 物件。此函數需要兩個參數:日期字串和格式字串。在這種情況下,格式字串應與輸入字串的格式相符(“%M %d %Y %h:%i%p”)。
步驟2:將DATETIME 轉換為Unix Timestamp
一旦我們有了DATETIME 對象,我們就可以使用以下方法將其轉換為Unix 時間戳UNIX_TIMESTAMP 函數。此函數以 DATETIME 物件作為參數,並傳回對應的 Unix 時間戳記。
按照以下步驟,我們可以成功將帶有 AM 或 PM 後綴的日期字串轉換為所需的 Unix 時間戳格式。
其他格式註意事項
如果所需的輸出格式與預設的Unix時間戳,我們可以使用FROM_UNIXTIME函數進一步處理它來調整格式。此函數採用兩個參數:Unix 時間戳記和新格式字串。
此程式碼將 Unix 時間戳記轉換為格式為「mm-dd-yyyy hh:mm:ss」的日期字串。
結論
透過了解如何將日期字串轉換為DATETIME 物件然後是Unix 時間戳,我們在MySQL 中處理與日期相關的資料時獲得了更大的靈活性。本文概述的技術提供了一種可靠且有效的方法來解決常見的格式問題並從日期字串中提取有價值的資訊。
以上是如何將帶有 AM/PM 後綴的 MySQL 日期字串轉換為 Unix 時間戳記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!