如何解决mysql STR_TO_DATE函数结束字符的问题
'30/09/2010 3:33:51 p.m.' and '30/09/2010 12:00:00 a.m.'(excluding quotations)
转换为日期时间。
但是,我在添加最后一个字符“ p.m.”时遇到了麻烦或“上午”发挥作用
我尝试过的是
SET datecolumn = STR_TO_DATE(left(datecolumn(23),'%d/%m%Y %h:%i:%s %_.m.')
SET datecolumn = STR_TO_DATE(left(datecolumn(18),'%d/%m%Y %h:%i:%s')
TIA
解决方法
对于manageAM / PM,请使用p%
SET datecolumn = STR_TO_DATE(left(datecolumn(23),'%d/%m%Y %h:%i:%s %p')
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format
,使用REPLACE()
从上午/下午删除点并应用正确的格式:
set datecolumn = str_to_date(
replace(left(datecolumn,24),'.',''),'%d/%m/%Y %r'
)
我使用函数LEFT()
是因为它存在于您的代码中,尽管我不知道是否确实需要它。
请参见demo。
结果:
| date |
| ------------------- |
| 2010-09-30 15:33:51 |
| 2010-09-30 00:00:00 |
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。