MySQL是一種廣泛使用的關係型資料庫,數據類型隨SQL標準提供各種函數。在這些函數中最重要的就是日期函數,而str_to_date函數又是其中一個非常重要的日期函數之一。本文將從多個方面介紹MySQL的str_to_date函數的用法、功能、相關注意事項等。
一、strtodate函數
str_to_date函數是MySQL的一個日期轉換函數,用於將字元串轉換為日期格式。其中,第一個參數是字元串類型,表示要轉換的字元串;第二個參數是日期格式化模板,表示轉換的目標日期格式。該函數返回一個日期值類型。
代碼示例:
SELECT STR_TO_DATE('2021-08-13', '%Y-%m-%d');
這個示例代碼使用str_to_date函數將字元串型的「2021-08-13」轉換為日期型,具體解釋如下:
- STR_TO_DATE:函數名稱,表示將字元串轉換為日期格式。
- ‘2021-08-13’:第一個參數,表示要轉換的字元串。
- %Y-%m-%d:第二個參數,表示日期格式模板。其中%Y表示年份,%m表示月份,%d表示天數。
執行該代碼後,將返回一個日期類型的結果:2021-08-13。
二、str_to_date轉換為空
如果輸入的日期格式不合法,str_to_date函數將返回NULL。
代碼示例:
SELECT STR_TO_DATE('August 13, 2021', '%Y-%m-%d');
這個示例代碼使用str_to_date函數將字元串型的「August 13, 2021」轉換為日期型,但是日期模板不匹配。具體解釋如下:
- STR_TO_DATE:函數名稱,表示將字元串轉換為日期格式。
- ‘August 13, 2021’:第一個參數,表示要轉換的字元串。
- %Y-%m-%d:第二個參數,表示日期格式模板。其中%Y表示年份,%m表示月份,%d表示天數。
注意到日期模板%Y-%m-%d與輸入字元串無法匹配,該示例代碼將返回NULL。
三、strtodatetime
str_to_date函數同樣可以轉換日期和時間類型,只需要在日期格式化模板中增加時間參數即可。其中,時間參數必須使用特定符號表示。
代碼示例:
SELECT STR_TO_DATE('2021-08-13 08:18:30', '%Y-%m-%d %H:%i:%s');
這個示例代碼使用str_to_date函數將字元串型的「2021-08-13 08:18:30」轉換為日期型,具體解釋如下:
- STR_TO_DATE:函數名稱,表示將字元串轉換為日期格式。
- ‘2021-08-13 08:18:30’:第一個參數,表示要轉換的字元串。
- %Y-%m-%d %H:%i:%s:第二個參數,表示日期格式模板。其中%Y表示年份,%m表示月份,%d表示天數,%H表示小時,%i表示分鐘,%s表示秒數。
執行該代碼後,將返回一個表示日期和時間的結果:2021-08-13 08:18:30。
四、strtodate函數返回null
如果輸入的日期格式不合法,str_to_date函數將返回NULL。
代碼示例:
SELECT STR_TO_DATE('August 13, 2021', '%Y-%m-%d');
這個示例代碼使用str_to_date函數將字元串型的「August 13, 2021」轉換為日期型,但是日期模板不匹配。具體解釋如下:
- STR_TO_DATE:函數名稱,表示將字元串轉換為日期格式。
- ‘August 13, 2021’:第一個參數,表示要轉換的字元串。
- %Y-%m-%d:第二個參數,表示日期格式模板。其中%Y表示年份,%m表示月份,%d表示天數。
注意到日期模板%Y-%m-%d與輸入字元串無法匹配,該示例代碼將返回NULL。
五、str_to_date和dateformat
str_to_date函數可以混合使用dateformat函數,用於日期格式轉換。
代碼示例:
SELECT DATE_FORMAT(STR_TO_DATE('08-13-2021', '%m-%d-%Y'), '%W, %M %e, %Y');
這個示例代碼使用str_to_date和dateformat函數將字元串型的「08-13-2021」轉換為日期型,並在此基礎上進行新的日期格式化,具體解釋如下:
- STR_TO_DATE:函數名稱,表示將字元串轉換為日期格式。
- ’08-13-2021’:第一個參數,表示要轉換的字元串。
- %m-%d-%Y:第二個參數,表示日期格式模板。其中%m表示月份,%d表示天數,%Y表示年份。
- DATE_FORMAT:函數名稱,表示對日期進行格式化。
- %W, %M %e, %Y:第二個參數,表示新的日期格式模板。其中%W表示星期,%M表示月份(全名),%e表示天數(沒有前導零),%Y表示年份。
執行該代碼後,將返回一個新的日期型結果:Friday, August 13, 2021。
結語
本文介紹了MySQL函數str_to_date的用法,介紹了strtodate函數、str_to_date轉換為空、strtodatetime、strtodate函數返回null、str_to_date和dateformat等相關知識點。理解和掌握這些知識點有助於在實際開發中更好地運用這些函數。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270249.html