我正在尝试为包含时间戳值的字段选择最大时间戳值,但实际上是文本字段。在你说之前,我无法更改字段类型,因为填充它的应用程序不可更改。我知道这很烦人。
时间戳的格式是
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值。 谢谢你的帮助。
答案 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`