2011-05-10 46 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)。