Mysql

轉換日期格式以插入 MySQL 數據庫

  • March 23, 2022

我收到了“ Sun Jun 20 00:40:27 IST 2021 ”格式的日期。我需要以datetime(6)格式將其插入到我的 MySQL 數據庫中。

我用了

STR_TO_DATE('Sun Jun 20 00:40:27 IST 2021','%d/%m/%Y %T')

並收到

日期時間值不正確:函式 str_to_date 錯誤的“Sun Jun 20 00:40:27 IST 2021”。

我也試過

date_format('Sun Jun 20 00:40:27 IST 2021','%d/%m/%Y %T')

並收到

日期時間值不正確:‘Sun Jun 20 00:40:27 IST 2021

誰能指導我修復它?

PS:我正在使用prepared statement,executeBatch()向表中插入數據。

要儲存到 中DATETIME,請使用STR_TO_DATE()描述字元串格式的位置:

SELECT STR_TO_DATE('Sun Jun 20 00:40:27 IST 2021', "%a %b %d %H:%i:%s IST %Y");

–>2021-06-20 00:40:27

作為一個單獨的步驟,您可以使用不同的格式字元串以SELECT不同的格式顯示日期時間。DATE_FORMAT()

SELECT DATE_FORMAT('2021-06-20 00:40:27', '%d/%m/%Y');

–>20/06/2021 00:40:27

您不能在單個函式呼叫中進行兩種轉換。

存入DATETIME(6)will store 2021-06-20 00:40:27.000000。(在您的範例中,這(6)是浪費的。

如果您正在使用LOAD DATA,則有一種方法可以STR_TO_DATE像插入一樣進行操作。

我不知道如何概括“IST”;請注意,我在範常式式碼中基本上跳過了它。

引用自:https://dba.stackexchange.com/questions/310034