【问题标题】:Consultation about cast and max date in MySQL [closed]关于 MySQL 中的演员表和最大日期的咨询 [关闭]
【发布时间】:2016-01-16 05:40:15
【问题描述】:

我有这张桌子。 TDate 是一个字符串(不是日期)。

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 中做到这一点?

【问题讨论】:

    标签: mysql sql date select


    【解决方案1】:

    将tdate 转换为实际日期,按其排序,并将查询限制为单行:

    SELECT   *
    FROM     men
    ORDER BY STR_TO_DATE(tdate, '%d.%m.%Y') DESC
    LIMIT    1
    

    【讨论】:

      【解决方案2】:

      修复您的数据以将值存储为日期:

      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;
      

      然后您的代码将工作,您的数据库将得到修复。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-01-03
        • 1970-01-01
        • 1970-01-01
        • 2021-01-22
        • 2020-06-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多