我在 MySQL 中有“MM-DD-YYYY”格式的日期列表,当我尝试从表中获取最新日期时,它只返回一年的最后一个日期,如 12-01- 2014
而不是返回最新日期 03-16-2016
。
付款历史表:
to_date
03-16-2016
12-01-2014
11-07-2014
10-03-2014
01-09-2014
<小时/>
我使用了以下查询:
SELECT MAX(to_date) FROM paymenthistory WHERE empid=59;
结果:2014 年 1 月 12 日
相关帖子:Get the latest date from grouped MySQL data
提前致谢
最佳答案
您正在使用字符串,而不是 native 日期,因此您将获得最大日期。
要么将这些字符串转换为实际的 mysql 日期/日期时间值,要么你将不得不使用丑陋的黑客,比如
SELECT MAX(STR_TO_DATE(to_date, '%m-%d-%Y'))
并且性能会非常糟糕。 MySQL 的原生日期格式是yyyy-mm-dd hh:mm:ss
,这是一种自然的“最重要的在前”格式。如果您的日期字符串的格式是这样的,那么即使 max(string) 也可以工作。
关于mysql - 如何从MySQL数据库中选择最新日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23331731/