我遇到了 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
为什么除了月份之外一切都是正确的?这是我的语法错误吗?
我遇到了 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
为什么除了月份之外一切都是正确的?这是我的语法错误吗?
您在几分钟内使用了错误的修饰符 - 使用:
SELECT STR_TO_DATE("Saturday October 23 2010 11:00 AM", "%W %M %d %Y %h:%i %p")
您指定%m
了,它覆盖了%M
值 -请参阅 DATE_FORMAT 文档中的修饰符。这就是为什么月份出现为零的原因 - 分钟的修饰符是%i
.