MySQL的STR_TO_DATE函数是将字符串转换为日期类型的一个函数。其主要作用是将字符串格式的日期类型转换为日期类型,以在MySQL中进行日期操作。
该函数的基本语法:
STR_TO_DATE(str,format)
其中,str表示要转换的字符串,format表示要转换的日期字符串的格式,该参数是必须的。
实例1:
假设有一个表格event,其中有一个列称为event_date,其数据类型为字符串型,且数据格式形如“2019-10-01”。
现在需要把event表的event_date列转换为日期型,以便于进行日历排序等操作。
可以使用STR_TO_DATE函数进行转换:
SELECT event_name, STR_TO_DATE(event_date, '%Y-%m-%d') AS event_date
FROM event;
上述SQL语句中,%Y代表年份(四位数字),%m代表月份(两位数字),%d代表日期(两位数字)。因此,'%Y-%m-%d'表示的是日期格式,可以将event_date列从字符串转换为日期型。
实例2:
假设有一个表格user,其中有两个列birth_date和join_date,其数据类型为字符串型,且数据格式形如“1990-01-01”。
现在需要计算每个用户join_date到birth_date的天数。
可以使用DATEDIFF函数来计算天数,但是需要先将birth_date和join_date列转换为日期类型。
可以使用STR_TO_DATE函数进行转换:
SELECT user_id,
DATEDIFF(STR_TO_DATE(join_date, '%Y-%m-%d'),
STR_TO_DATE(birth_date, '%Y-%m-%d')) AS days
FROM user;
上述SQL语句中,STR_TO_DATE函数将birth_date和join_date列从字符串型转换为日期型,然后使用DATEDIFF函数计算天数。