获取MySQL中的最小日期时间

时间:2011-02-25 12:05:55

标签: mysql datetime

我想从MySql DataBase获得最少的数据。在我的数据库中,Column的DataType是VARCHAR,我插入的数据就像“2011-03-01 09:00”(yyyy-MM-dd hh-mm)。现在我需要数据库中的最短日期。我怎么能这样做。请帮我。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

将col转换为unix时间戳,将当前日期作为unix时间戳,获取差值,使其成为正数,按该数字排序,返回第一行。

SELECT * FROM tablename ORDER BY ABS(UNIX_TIMESTAMP(dateCol) - UNIX_TIMESTAMP(NOW())) ASC LIMIT 1
您的评论中的

修改,您需要下一行(按日期排序):

SELECT * FROM tablename WHERE UNIX_TIMESTAMP(dateCol) > UNIX_TIMESTAMP(NOW()) ORDER BY UNIX_TIMESTAMP(dateCol) ASC LIMIT 1

答案 1 :(得分:0)

按日期(字符串)列升序对表进行排序。 将行限制为第一行。得到你的日期列。 那么你的日期最短。

不需要转换。

这是唯一可行的,当你使用这种格式时:yyyy-MM-dd hh-mm 但你这样做了,已经

select datecol from table order by 1 limit 1,1

示例中的限制可能是错误的 - 我不知道mysql是从1还是0开始