有沒有辦法將“-1 周”或“-5 分鐘”等字串轉換為 MySQL 中的日期時間值,類似于 php 極其方便的 strtotime() 函式?
我有一個表,它在一個列中存盤人類可讀的時間間隔(例如“2 分鐘”),datetime
在另一列中存盤一個。
我想選擇interval
自datetime
.
uj5u.com熱心網友回復:
MySQL 沒有 PHP 的等價物,strtotime()
因為沒有任何東西會通過假設多種格式自動嘗試決議和確定日期字串的格式。
它所具有的是STR_TO_DATE(str,format)
要求您指定日期、時間或日期 時間字串的格式。它相當于PHP的date_create_from_format(format, str)
函式(雖然格式引數的格式不同)。
以下是 MySQL 檔案中給出的一些示例。它們顯示一個日期與格式字串一起傳遞,讓它知道如何解釋日期字串:
SELECT STR_TO_DATE('01,5,2013','%d,%m,%Y');
SELECT STR_TO_DATE('May 1, 2013','%M %d,%Y');
或者,您可以將字串轉換為 date、 time 或 datetime 型別,但它們需要特定的格式 ( YYYY-MM-DD hh:mm:ss.fraction
) 才能作業:
SELECT CAST("2019-11-21" AS DATE);
如果您偏離該格式太遠,它會做出一些假設,但可能會產生錯誤的日??期。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/507685.html