MySQL中cast和max-date的咨询
我有这张桌子。TDate是一个字符串(不是日期)。MySQL中cast和max-date的咨询,mysql,sql,date,select,Mysql,Sql,Date,Select,我有这张桌子。TDate是一个字符串(不是日期)。 MEN === id | Name | TDate 1 | aa | 01.05.2015 2 | bb | 05.05.2015 3 | cc | 07.01.2015 4 | dd | 0
MEN
===
id | Name | TDate
1 | aa | 01.05.2015
2 | bb | 05.05.2015
3 | cc | 07.01.2015
4 | dd | 04.04.2015
我需要得到最长日期:
2 | bb | 05.05.2015
如何在MySQL中执行此操作?将
tdate
转换为实际日期,按日期排序,并将查询限制为一行:
SELECT *
FROM men
ORDER BY STR_TO_DATE(tdate, '%d.%m.%Y') DESC
LIMIT 1
修复数据以将值存储为日期:
alter table t
add column newTdate date;
update t
set newTdate = str_to_date(Tdate, '%d.%m.%Y');
alter table t
drop column Tdate;
alter tabe t
change column newTdate Tdate;
然后,您的代码将工作,您的数据库将被修复