MySQL中如何将dd mmm yyyy格式日期转换为datetime类型
dd mmm yyyy格式字符串转MySQL datetime类型实现方案
直接使用内置STR_TO_DATE()函数按格式解析字符串即可,按需选择对应写法:
无自定义时间需求:原字符串仅包含日期,转换后默认时分秒为
00:00:00-- 解析'12 JAN 2021'这类日期字符串 SELECT STR_TO_DATE('12 JAN 2021', '%d %b %Y');返回值:
2021-01-12 00:00:00,为标准datetime类型。需要指定固定时分秒(比如目标格式中的
12:05:11):解析完日期后追加指定时间即可SELECT ADDTIME(STR_TO_DATE('12 JAN 2021', '%d %b %Y'), '12:05:11');返回值:
2021-01-12 12:05:11。
常见问题处理
如果转换结果返回NULL,是因为当前会话的时间语言设置无法识别英文月份缩写,先执行以下语句设置英文locale即可正常解析:
SET lc_time_names = 'en_US';
用到的格式符说明:
%d:匹配两位数字的日期(01-31)%b:匹配3位英文缩写月份(JAN/FEB等)%Y:匹配4位数字的年份
内容的提问来源于stack exchange,提问作者Divya
相关产品推荐
相关产品推荐

