预计该年份将被选择为当前年份,而不是如下所示的00年。
mysql> select str_to_date('Jul 15 12:12:51', '%b %e %T');
+--------------------------------------------+
| str_to_date('Jul 15 12:12:51', '%b %e %T') |
+--------------------------------------------+
| 0000-07-15 12:12:51 |
+--------------------------------------------+
预期结果:
| 2013-07-15 12:12:51 |
好吧,这是有意的。引用文档:
未指定的日期或时间部分的值为0,因此str中不完全指定的值会产生将部分或全部部分设置为0的结果。[...]“零”日期或部分值为0的日期是允许的,除非使用SQL模式设置为不允许此类值。
很容易解决,顺便说一句:
select str_to_date(CONCAT(YEAR(NOW()), ' ', 'Jul 15 12:12:51'), '%Y %b %e %T');
-- July, 15 2013 12:12:51+0000
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句