在 MySQL 中將字串轉換為日期格式

Mehvish Ashiq 2023年1月30日 2022年5月13日
  1. 在 MySQL 中將字串轉換為日期格式
  2. まとめ
在 MySQL 中將字串轉換為日期格式

本文將指導你並通過不同的函式將充當 DATE 的字串型別值轉換為 DATE 型別值。我們還將練習使用 MySQL 中的 STR_TO_DATE()CONVERT()CAST() 函式的一些示例程式碼。

注意
我們使用的是 MySQL V8.0.27。你可以從這裡獲得較新的(如果有的話)

在 MySQL 中將字串轉換為日期格式

我們將學習以下在 MySQL 中將字串轉換為 DATE 格式的方法。

MySQL STR_TO_DATE() 函式

此函式將 str(字串)轉換為 DATE 值。DATE 的格式將根據你的字串格式。例如,你想將 MM/DD/YYYY 從字串型別轉換為 DATE 型別,那麼 DATE 也將是 MM/DD/YYYY 格式。

STR_TO_DATE() 函式可以根據輸入以及字串格式返回 DATEDATETIMETIME 值。請參閱下面給出的示例並將它們與輸出進行比較。

SELECT STR_TO_DATE('2021-08-23', '%Y-%m-%d');

輸出:

在 mysql 中將字串轉換為日期格式 - str 到日期輸出一

如果我們改變格式怎麼辦?讓我們用逗號替換破折號。

SELECT STR_TO_DATE('2021-08-23', '%Y,%m,%d');

輸出:

在 mysql 中將字串轉換為日期格式 - str to date 錯誤一

參見上面給出的輸出,它返回 NULL。讓我們僅將格式從 YYYY-MM-DD 更改為 DD-MM-YYYY

SELECT STR_TO_DATE('2021-08-23', '%d-%m-%Y');

輸出:

mysql 中字串轉日期格式-str 轉日期錯誤二

看,它又返回了 NULL。這意味著你必須具有與輸入字串中相同的 DATE 格式。如果我們也有 TIME 怎麼辦?讓我們執行以下命令。

SELECT STR_TO_DATE('2021-08-23 10:12:23', '%Y-%m-%d %T');

輸出:

mysql 中字串轉日期格式-str 轉日期輸出二

STR_TO_DATE() 函式將忽略文字並僅輸出 DATE。請參閱以下示例。

SELECT STR_TO_DATE('2021-08-23 some other string', '%Y-%m-%d') as Date;

輸出:

mysql 中字串轉日期格式-str 轉日期輸出四

我們也可以提取年份。如果你提取年份,它會將日期和月份設定為零。請參閱以下程式碼和輸出。

SELECT STR_TO_DATE('2021-08-23', '%Y') as Year; #get year

輸出:

mysql 中字串轉日期格式-str 轉日期輸出五

MySQL CONVERT() 函式

Convert 函式可以將給定的值轉換為指定的字符集或資料型別。你可以在此處檢視有關資料型別的詳細資訊。

SELECT CONVERT("2021-08-19", DATE); #convert to DATE
SELECT CONVERT("2021-08-19", DATETIME); #convert to DATETIME
SELECT CONVERT("2021-08-19", TIME); #convert to TIME

輸出:

在 mysql 中將字串轉換為日期格式 - 轉換輸出

MySQL CAST() 函式

此函式將任何型別的輸入(可以是字串、整數或其他)轉換為任何指定的資料型別。你可以在此處詳細檢視引數值。

SELECT CAST("2021-08-29" AS DATE) as date; #convert to date type
SELECT CAST("2021-08-29 11:12:45" AS DATETIME) as datetime; #convert to datetime type
SELECT CAST("11:12:45" AS TIME) as time; #convert to time type

輸出:

在 mysql 中將字串轉換為日期格式 - 轉換輸出

まとめ

我們得出的結論是,根據專案要求,可以有多種方法將字串值轉換為 DATETIMEDATETIME。我們瞭解了用於轉換目的的 STR_TO_DATECONVERTCAST 函式。

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

相關文章 - MySQL Date