当timestamp是文本字段时选择最大时间戳

时间:2012-08-28 13:10:29

标签: mysql

我正在尝试为包含时间戳值的字段选择最大时间戳值,但实际上是文本字段。在你说之前,我无法更改字段类型,因为填充它的应用程序不可更改。我知道这很烦人。

时间戳的格式是

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`

'Timestamp'指的是名为Timestamp的列。

这只返回时间戳的NULL值。 谢谢你的帮助。

4 个答案:

答案 0 :(得分:1)

这应该适合您,同时查看http://www.w3schools.com/sql/func_date_format.asp

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');

答案 1 :(得分:1)

试试这种格式

STR_TO_DATE(`时间戳','%a%b%d%T CST%Y')

答案 2 :(得分:1)

尝试此查询 -

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

答案 3 :(得分:0)

使用此

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