MySQL資料庫中涉及到日期的操作很多,其中之一就是將字元串轉換為日期。在這篇文章中,我們將會詳細介紹MySQL字元串轉日期的相關知識和技巧。
一、yyyymmdd函數
MySQL中定義了許多日期函數,其中yyyymmdd函數可以將形如”20210101″這樣的字元串轉換為日期類型。
SELECT STR_TO_DATE('20210101','%Y%m%d');
上述代碼將返回一個日期,即2021-01-01。
二、字元串轉日期函數
MySQL還定義了許多其他的日期函數,比如DATE函數、STR_TO_DATE函數等函數。這些函數可以將字元串轉換為MySQL能夠處理的日期類型。例如:
SELECT DATE('2021-01-01');
SELECT STR_TO_DATE('2021-01-01','%Y-%m-%d');
上述代碼都將返回一個日期,即2021-01-01。
三、字元串轉日期並格式化
有時候,我們需要將日期以某種格式輸出。這時候,我們可以將字元串轉換為日期,再使用DATE_FORMAT函數對日期進行格式化。例如:
SELECT DATE_FORMAT(STR_TO_DATE('20210101','%Y%m%d'),'%Y/%m/%d');
上述代碼將返回一個格式化後的日期,即2021/01/01。
四、字元串轉日期SQL
在MySQL中,我們還可以使用SQL語句將字元串轉換為日期,例如:
SELECT
STR_TO_DATE(concat('2021', '-', '01', '-', '01'), '%Y-%m-%d') AS date;
上述代碼將返回一個日期,即2021-01-01。
五、字元串轉日期時間
在MySQL中,我們也可以將字元串轉換為日期時間類型。例如:
SELECT STR_TO_DATE('2021-01-01 12:30:45','%Y-%m-%d %H:%i:%s');
上述代碼將返回一個日期時間,即2021-01-01 12:30:45。
六、字元串年月轉日期
有時候,我們只有年月的數據,需要將其轉換為日期類型,這時候,我們可以使用CONCAT函數和STR_TO_DATE函數。例如:
SELECT STR_TO_DATE(CONCAT('202101', '01'), '%Y%m%d');
上述代碼將返回一個日期,即2021-01-01。
七、SQL語句字元串轉日期
在SQL查詢語句中,我們也可以使用字元串轉日期操作。例如:
SELECT * FROM `order` WHERE DATE_FORMAT(`created_time`, '%Y-%m-%d') = '2021-01-01';
上述代碼將查詢出日期為2021-01-01的訂單記錄。
八、MySQL日期相減計算天數
在MySQL中,我們還可以通過日期相減來計算天數。例如:
SELECT DATEDIFF('2021-01-10', '2021-01-01');
上述代碼將返回9,即2021-01-10與2021-01-01之間相差的天數為9。
以上就是MySQL字元串轉日期的一些常見操作和技巧。通過這些操作,我們可以更好地處理MySQL資料庫中的日期數據。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/198444.html