2017-06-06 54 views
1

我需要將一個varchar轉換爲日期時間,以便我可以找出最大值和最小值。我有的varchar是這樣的格式:'星期一,2010年5月24日21時24分39秒+0000',我需要投到:'2010-05-24 21:24:39'。我正在使用mysql服務器。需要幫忙。如何格式化並將varchar轉換爲mysql中的datetime

+0

你在使用 – briankip

+0

它可能不是使用MySQL來做到這一點是一個好主意,因爲它是唯一的主要設計用於數據庫前端管理。 – Okx

+1

https://dev.mysql.com/doc/refman/5.7/zh/date-and-time-functions.html#function_str-to-date – CBroe

回答

3
SELECT STR_TO_DATE(Myvarchar, '%a, %d %b %Y %T') FROM table1 

這會將它變成列中的格式,然後您可以運行小於和大於最小和最大查詢的列。你可以在它上面運行查詢,把它保留爲一個字符串,但是當然它的性能要比使用適當的日期時間類型而不是varchar的新列的性能要好。儘管沒有太多的行,但您不會注意到性能問題。

所以,你可能最終運行以下命令:

SELECT MAX(STR_TO_DATE(Myvarchar, '%a, %d %b %Y %T')) FROM table1 

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date

相關問題