我遇到了MySQL的STR_TO_DATE函数问题。例如,此代码:
SELECT STR_TO_DATE("Saturday October 23 2010 11:00 AM", "%W %M %d %Y %h:%m %p");
输出:
2010-00-23 11:00:00
除了月份之外,为什么一切都正确?这是我的语法错误吗?
答案 0 :(得分:5)
您使用错误的修饰符进行分钟 - 使用:
SELECT STR_TO_DATE("Saturday October 23 2010 11:00 AM", "%W %M %d %Y %h:%i %p")
您指定的%m
覆盖了%M
值 - see the modifiers via the DATE_FORMAT documentation。这就是月份出现为零的原因 - 分钟的修饰符为%i
。