2011-05-10 64 views
0

这是怎么回事? str_to_date('26/04/2011 00:00:00', '%d/%m/%Y') 它给Error Code: 1292 Truncated incorrect date value: '26/04/2011 00:00:00'MySQL str_to_date问题

更新:问题是00:00:00,如果我删除它,它的工作原理。如何编辑'%d/%m/%Y'接受时间? '%d/%m/%Y %h:%m:%s'不起作用。

+0

哪里是你的格局00:00:00? – 2011-05-10 15:45:05

+0

@Pekka对不起,我加入了更新只是您的评论 – Michael 2011-05-10 15:46:35

回答

2

既然你指定的时间值参数,你也应该在指定的日期格式参数的时间成分。

str_to_date('26/04/2011 00:00:00', '%d/%m/%Y %h:%i:%s') 

要么,或删除从日期值的时间成分:

str_to_date('26/04/2011', '%d/%m/%Y') 

要么应该工作,但你需要两个参数之间是一致的。

或者,因此,它已在时间部件固定值,你可以指定格式:

str_to_date('26/04/2011 00:00:00', '%d/%m/%Y 00:00:00') 

这会工作,但只有时间分量总是00:00:00

+0

STR_TO_DATE后('26/04/2011' , '%d /%M /%Y')的作品,但我无法从我的数据删除0。 '%d /%m /%Y%h:%i:%s'我仍然得到相同的错误 – Michael 2011-05-10 15:48:16

+0

@Michael - 请参阅我编辑的答案,以获得第三个替代方案,这可能会为您解决问题。 – Spudley 2011-05-10 15:48:59

+0

第三个替代作品像一个魅力:)谢谢! – Michael 2011-05-10 15:50:01

4
str_to_date('26/04/2011 00:00:00', '%d/%m/%Y %H:%i:%s') 

注意事项小时(00-24)资本%H而不是%h(01-12)。