2013-03-13 85 views
3

我想將varchar轉換爲日期時間 這就是我現在所擁有的,它不適合我。我總是得到有價值如何將varchar轉換爲mysql中的datetime格式

STR_TO_DATE(REPLACE(LEFT('5/16/2011 20:14 PM', LOCATE('M' , '5/16/2011 20:14 PM')-3), '/',','),'%m-%d-%Y %T') 

這下面的代碼返回5,16,2011 20:14

select REPLACE(LEFT('5/16/2011 20:14 PM', LOCATE('M' , '5/16/2011 20:14 PM')-3), '/',',') 

我的電流輸出爲emply串現。應該是2011-05-16 20:14:00

我怎樣才能得到這個工作?

感謝

+2

'20:14 PM'是多餘的。你爲什麼這樣? – 2013-03-13 20:48:38

回答

15

如果你的VARCHAR是這樣的:

5/16/2011 20:14 PM 

您可以使用此將其轉換爲日期時間:

SELECT STR_TO_DATE('5/16/2011 20:14 PM', '%c/%e/%Y %H:%i') 

或此將其格式化像你想:

SELECT DATE_FORMAT(STR_TO_DATE('5/16/2011 20:14 PM', '%c/%e/%Y %H:%i'), '%Y-%m-%d %H:%m:%s') 
+0

我期待的最終價值是2011-05-16 20:14:00您的回報5/16/2011 8:14:00 PM – Jaylen 2013-03-13 20:50:14

+0

@Mike請參閱我的更新回答 – fthiella 2013-03-13 20:59:33

+0

如果我的列值只有時間,如:04:00 – 2017-09-22 09:21:01

相關問題