2012-08-28 107 views
1

我想爲包含時間戳值的字段選擇最大時間戳值,但實際上是一個文本字段。在您說出來之前,我無法更改字段類型,因爲填充它的應用程序不可更改。這很煩人,我知道。當時間戳是一個文本字段時選擇最大時間戳

時間戳的格式是

Wed Mar 02 13:28:59 CST 2011 -> this is actually a text value in MYSQL 

這裏是我的嘗試:

SELECT DISTINCT MAX(STR_TO_DATE(`Timestamp`, '%d, %m, %Y')) FROM `table` 

'時間戳' 指的是所謂的時間戳列。

這只是返回時間戳的NULL值。 感謝您的幫助。

回答

1

這應該爲你工作,也看看​​

SELECT DISTINCT MAX(STR_To_DATE(`Timestamp`,'%a %b %d %H:%i:%s CST %Y')) 
FROM `table`; 

測試案例:

SET @v = 'Wed Mar 02 13:28:59 CST 201'; 

SELECT STR_To_DATE(@v, '%a %b %d %H:%i:%s CST %Y'); 
+0

非常感謝你! – hacket

0

使用此

SELECT DISTINCT MAX(STR_TO_DATE(`table.Timestamp`, '%d, %m, %Y')) FROM `table` 
+0

這並不工作:(。我認爲字符串的格式正在拋棄它。 – hacket

+0

將引號放在它附近會給出'未知列'錯誤。 – hacket

1

試試這個格式

ST R_TO_DATE(`Timestamp`, '%A%B%d%T CST%Y')

1

嘗試此查詢 -

SELECT 
    MAX(STR_TO_DATE(`Timestamp`, '%a %b %d %H:%i:%s CST %Y')) 
FROM 
    `table`