MySQL 是一種流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它支持日期和時間類型的數(shù)據(jù)。在MySQL中,可以使用 DATE()、TIME() 和 DATETIME() 函數(shù),將字符串轉(zhuǎn)換為日期格式。
例如: SELECT DATE('2018-08-08'); // 輸出 2018-08-08 SELECT TIME('12:00:00'); // 輸出 12:00:00 SELECT DATETIME('2018-08-08 12:00:00'); // 輸出 2018-08-08 12:00:00
除了使用函數(shù)外,還可以使用 STR_TO_DATE() 函數(shù)將指定格式的字符串轉(zhuǎn)換為 DATE、TIME 或 DATETIME 值。
例如: SELECT STR_TO_DATE('08-08-2018', '%d-%m-%Y'); // 輸出 2018-08-08 SELECT STR_TO_DATE('12:00:00', '%H:%i:%s'); // 輸出 12:00:00 SELECT STR_TO_DATE('08-08-2018 12:00:00', '%d-%m-%Y %H:%i:%s'); // 輸出 2018-08-08 12:00:00
在 STR_TO_DATE() 函數(shù)中,第一個參數(shù)是要轉(zhuǎn)換的字符串,第二個參數(shù)是字符串的日期格式。在日期格式中,%Y 表示四位數(shù)的年份,%m 表示兩位數(shù)的月份,%d 表示兩位數(shù)的日期,%H 表示小時(24小時制),%i 表示分鐘,%s 表示秒。
需要注意的是,如果要將一些特殊格式的日期轉(zhuǎn)換為日期格式,需要在日期格式中使用轉(zhuǎn)義字符 "%".例如:
SELECT STR_TO_DATE('Aug 08 2018', '%b %d %Y'); // 輸出 2018-08-08 SELECT STR_TO_DATE('08.August.2018', '%d.%M.%Y'); // 輸出 2018-08-08 SELECT STR_TO_DATE('Aug-08-18', '%b-%d-%y'); // 輸出 2018-08-08
在進(jìn)行數(shù)據(jù)插入或更新操作時,也可以使用 STR_TO_DATE() 函數(shù)。
例如: INSERT INTO student (name, birth_date) VALUES ('Jack', STR_TO_DATE('1998-10-10', '%Y-%m-%d')); UPDATE student SET birth_date = STR_TO_DATE('1999-11-11', '%Y-%m-%d') WHERE name = 'Tom';
上面的 SQL 語句將字符串轉(zhuǎn)換為日期并插入到 birth_date 字段中,或直接將字符串轉(zhuǎn)換為日期并更新 birth_date 字段。
總之,MySQL 中有多種方法將字符串轉(zhuǎn)換為日期,并將其存儲為 DATE、TIME 或 DATETIME 類型的數(shù)據(jù)。