我有這種格式的日期5 Mar 1985 0:00
存儲在表中作爲VARCHAR
。
我想把它轉換成Datetime
,我現在用的是STR_TO_DATE()
如下:MySQL的STR_TO_DATE()函數
SELECT STR_TO_DATE(birth_date, '%d %m %Y %h:%i') FROM student WHERE pk = 29
但它返回NULL
。
我有這種格式的日期5 Mar 1985 0:00
存儲在表中作爲VARCHAR
。
我想把它轉換成Datetime
,我現在用的是STR_TO_DATE()
如下:MySQL的STR_TO_DATE()函數
SELECT STR_TO_DATE(birth_date, '%d %m %Y %h:%i') FROM student WHERE pk = 29
但它返回NULL
。
嘗試STR_TO_DATE(birth_date, '%d %M %Y %h:%i')
代替
的整數%m
=月 %M
=一個月字符串(如:3月)
這一個沒有工作。 – user1369905
是的你是對的,但它仍然沒有工作。 – user1369905
也許是因爲日期格式無效?它應該是'1985年3月5日00:00'。請嘗試:'STR_TO_DATE(birth_date,'%d%M%Y 0%h:%i') – Cosmin
試試這個格式 - '%e %b %Y %k:%i'
,例如 -
SELECT STR_TO_DATE('5 Mar 1985 2:33', '%e %b %Y %k:%i') dt;
+---------------------+
| dt |
+---------------------+
| 1985-03-05 02:33:00 |
+---------------------+
%b幾個月的縮寫。 完美謝謝 – user1369905
@ user1369905您應該接受適合您的答案。請參閱[接受答案:它是如何工作的](http://meta.stackexchange.com/a/5235/187824) – hims056
+1請參閱:http://www.w3schools.com/sql/func_date_format.asp – Omesh
您應該使用MySQL的標準日期格式,而不是您自己定製的日期格式。如果你真的這樣做,你不必擔心。 –
我實際上已經存儲在表(birth_date varchar 100)中的值我需要將其轉換爲日期時間。 – user1369905
請參閱:http://www.w3schools.com/sql/func_date_format.asp – Omesh