函数str_to_date的日期时间值不正确

时间:2011-03-24 22:38:46

标签: mysql

我看不出这有什么问题:

mysql> select str_to_date('3/8/2010 12:31:00 AM', '%c/%e/%Y %k:%i:%s %p');
+-------------------------------------------------------------+
| str_to_date('3/8/2010 12:31:00 AM', '%c/%e/%Y %k:%i:%s %p') |
+-------------------------------------------------------------+
| NULL                                                        |
+-------------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)

mysql> show warnings;
+-------+------+---------------------------------------------------------------------------+
| Level | Code | Message                                                                   |
+-------+------+---------------------------------------------------------------------------+
| Error | 1411 | Incorrect datetime value: '3/8/2010 12:31:00 AM' for function str_to_date |
+-------+------+---------------------------------------------------------------------------+
1 row in set (0.00 sec)

2 个答案:

答案 0 :(得分:7)

%k:%i:%s %p

%k是24小时制,不适用于%p(上午/下午)。使用%l

答案 1 :(得分:0)

尝试:

mysql> select str_to_date('3/8/2010 12:31:00 AM', '%m/%d/%Y %h:%i:%s %k');
相关问题