如何从MySQL表中提取格式化的最大日期值

如何从MySQL表中提取格式化的最大日期值,sql,string,date,max,date-format,Sql,String,Date,Max,Date Format,在我的数据库中,字段日期的值以dd/MM/yyyy hh:MM:ss格式保存在varchar 假设我的数据库包含日期21/09/2012 01:01:01和02/10/2012 03:04:08 我想查找最长日期,所以通过以下查询将字符串转换为日期 选择max(str_to_date(dt.date,'%d/%m/%Y%H:%i:%s'))作为员工emp的max_date,其中emp_id=1 返回的结果正确,但格式如下:2012-10-02 03:04:08 但我希望结果的格式是:02/10/

在我的数据库中,字段日期的值以
dd/MM/yyyy hh:MM:ss
格式保存在
varchar

假设我的数据库包含日期
21/09/2012 01:01:01
02/10/2012 03:04:08

我想查找最长日期,所以通过以下查询将字符串转换为日期

选择max(str_to_date(dt.date,'%d/%m/%Y%H:%i:%s'))作为员工emp的max_date,其中emp_id=1

返回的结果正确,但格式如下:
2012-10-02 03:04:08

但我希望结果的格式是:
02/10/2012 03:04:08
。因此,我使用了以下查询,但它返回结果:

选择max(日期格式(str_to_date(emp.date,'%d/%m/%Y%H:%i:%s'),'%d/%m/%Y%H:%i:%s'))作为员工emp的max_date,emp\u id=1


结果:
21/09/2012 01:01:01

这似乎太简单了,不可能正确,但您是否尝试过切换调用函数的顺序

代替
选择max(日期格式(str_to_date(emp.date,'%d/%m/%Y%H:%i:%s'),'%d/%m/%Y%H:%i:%s'))作为员工emp中的max_date,emp\u id=1


尝试
选择日期格式(max(str_to_date(emp.date,'%d/%m/%Y%H:%i:%s')),'%d/%m/%Y%H:%i:%s')作为员工emp的最大日期,emp id=1

这似乎太简单了,不可能正确,但是您是否尝试过切换调用函数的顺序

代替
选择max(日期格式(str_to_date(emp.date,'%d/%m/%Y%H:%i:%s'),'%d/%m/%Y%H:%i:%s'))作为员工emp中的max_date,emp\u id=1


尝试
选择日期格式(max(str_to_date(emp.date,'%d/%m/%Y%H:%i:%s')),'%d/%m/%Y%H:%i:%s')作为员工emp的最大日期,emp id=1

要使max()函数正常工作,不需要将日期转换为字符串。您应该能够运行以下查询并获得所需的结果:

SELECT date_format(max(emp.date), '%d/%m/%Y %H:%i:%s') FROM employee emp WHERE emp_id=1

要使max()函数正常工作,不需要将日期转换为字符串。您应该能够运行以下查询并获得所需的结果:

SELECT date_format(max(emp.date), '%d/%m/%Y %H:%i:%s') FROM employee emp WHERE emp_id=1