mysql - 如何从MySQL数据库中选择最新日期

标签 mysql sql max

我在 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/

相关文章:

python - 为什么 `max` 和 `min` 与 numpy.nan 有如此奇怪的行为?

jpeg - 已知尺寸的JPEG图像的最大文件大小

mysql - 表格中的电子邮件验证存在问题

mysql - 更新内部连接卡住

sql - 为什么我的表没有显示在 SQL Server Management Studio 智能感知中?

sql - 如何将postgres 12生成的sql文件恢复到postgres 9.6数据库中

根据另一列的最后一个值从一列返回值

php - 非常大的 xml 文件到 mysql

php - 我如何确保 PHP json_encode 将对我从数据库读取的任何数据进行编码?

mysql - 条件连接 : don't join on null