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`

'Timestamp' 是指名为 Timestamp 的列。

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

4

4 回答 4

1

试试这个查询 -

SELECT
  MAX(STR_TO_DATE(`Timestamp`, '%a %b %d %H:%i:%s CST %Y'))
FROM
  `table`
于 2012-08-28T13:24:46.197 回答
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');
于 2012-08-28T13:21:11.527 回答
1

试试这个格式

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

于 2012-08-28T13:21:27.000 回答
0

用这个

SELECT DISTINCT MAX(STR_TO_DATE(`table.Timestamp`, '%d, %m, %Y')) FROM `table`
于 2012-08-28T13:16:50.960 回答