我使用的日期以dd/mm/yyyy
的格式存儲爲字符串。是否有可能在SELECT查詢中將其轉換爲yyyy-mm-dd
(以便我可以使用DATE_FORMAT
)? MySQL是否有日期解析功能?在字符串字段中將MySQL中的日期轉換爲
目前我能想到的唯一方法是連接一串子串,但希望有一個更簡單的解決方案。
(不幸的是我可以在現場不能轉換爲真正的日期字段,因爲它是一個元表:同一列中包含不同的字段僅僅是字符串值)
我使用的日期以dd/mm/yyyy
的格式存儲爲字符串。是否有可能在SELECT查詢中將其轉換爲yyyy-mm-dd
(以便我可以使用DATE_FORMAT
)? MySQL是否有日期解析功能?在字符串字段中將MySQL中的日期轉換爲
目前我能想到的唯一方法是連接一串子串,但希望有一個更簡單的解決方案。
(不幸的是我可以在現場不能轉換爲真正的日期字段,因爲它是一個元表:同一列中包含不同的字段僅僅是字符串值)
此:
STR_TO_DATE(t.datestring, '%d/%m/%Y')
...將字符串轉換成datetime數據類型。爲了確保它在你想要的格式出來,用DATE_FORMAT:
DATE_FORMAT(STR_TO_DATE(t.datestring, '%d/%m/%Y'), '%Y-%m-%d')
如果你不能改變原始列的數據類型,我建議creating a view使用該STR_TO_DATE
調用字符串轉換爲DateTime數據類型。
STR_TO_DATE可以讓你做到這一點,它有一個格式參數。
是的,有str_to_date
mysql> select str_to_date("03/02/2009","%d/%m/%Y");
+--------------------------------------+
| str_to_date("03/02/2009","%d/%m/%Y") |
+--------------------------------------+
| 2009-02-03 |
+--------------------------------------+
1 row in set (0.00 sec)
SELECT STR_TO_DATE(dateString, '%d/%m/%y') FROM yourTable...
它的幫助和幫助我很多快速解決方案 – 2014-01-22 14:45:44