mysql STR_TO_DATE()函数结尾字符出现问题
我试图使用str_to_Date函数来转换字符串,如mysql STR_TO_DATE()函数结尾字符出现问题,mysql,str-to-date,Mysql,Str To Date,我试图使用str_to_Date函数来转换字符串,如 '30/09/2010 3:33:51 p.m.' and '30/09/2010 12:00:00 a.m.'(excluding quotations) 转换为日期时间 但是,我在将最后一个字符“p.m.”或“a.m.”添加到函数中时遇到问题 我试过的是 SET datecolumn = STR_TO_DATE(left(datecolumn(23), '%d/%m%Y %h:%i:%s %_.m.') 对于manageAM/PM
'30/09/2010 3:33:51 p.m.' and '30/09/2010 12:00:00 a.m.'(excluding quotations)
转换为日期时间
但是,我在将最后一个字符“p.m.”或“a.m.”添加到函数中时遇到问题
我试过的是
SET datecolumn = STR_TO_DATE(left(datecolumn(23), '%d/%m%Y %h:%i:%s %_.m.')
对于manageAM/PM,使用
p%
SET datecolumn = STR_TO_DATE(left(datecolumn(23), '%d/%m%Y %h:%i:%s %p')
使用REPLACE()
删除am/pm中的点并应用正确的格式:
set datecolumn = str_to_date(
replace(left(datecolumn, 24), '.', ''),
'%d/%m/%Y %r'
)
我使用函数LEFT()
,因为它存在于您的代码中,尽管我不知道是否真的需要它。请参阅。
结果:
格式字符%p处理AM和PM。但我不知道它是否能应付上午和下午。你试过了吗?
set datecolumn = str_to_date(
replace(left(datecolumn, 24), '.', ''),
'%d/%m/%Y %r'
)
| date |
| ------------------- |
| 2010-09-30 15:33:51 |
| 2010-09-30 00:00:00 |