【问题标题】:Get closest date from MySQL table从 MySQL 表中获取最近的日期
【发布时间】:2012-10-13 03:25:11
【问题描述】:

我需要从 MySQL 表中获取最接近当前日期的日期。

这是我的桌子:

id        | date          | name
1         | 2012-10-29    | test
2         | 2009-11-31    | test

因此,如果今天运行查询,它将返回 1 | 2012-10-29 | test

非常感谢任何帮助。谢谢

【问题讨论】:

    标签: php mysql sql date


    【解决方案1】:
    SELECT 
      * 
    FROM 
      your_table 
    ORDER BY 
      ABS(DATEDIFF(NOW(), `date`))
    LIMIT 1
    

    【讨论】:

    • 这只给出过去的日期。
    【解决方案2】:
    select top 1 date from table
    where date > now()
    order by date desc
    

    【讨论】:

    • 这只给出过去的日期。
    【解决方案3】:
    SELECT * FROM `your_table` WHERE ABS(DATEDIFF(`date`, NOW()));
    

    返回:

    '1', '2012-10-29 00:00:00', 'test'
    

    【讨论】:

      猜你喜欢
      • 2014-03-10
      • 2022-01-24
      • 2016-07-07
      • 1970-01-01
      • 2012-01-04
      • 1970-01-01
      • 2022-12-18
      • 1970-01-01
      • 2014-10-30
      相关资源
      最近更新 更多