mysql 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

我试图使用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,使用
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 |