从MySQL表中获取最接近的日期

时间:2012-10-23 08:30:18

标签: php mysql sql date

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

这是我的表:

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

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

非常感谢任何帮助。感谢

3 个答案:

答案 0 :(得分:14)

SELECT 
  * 
FROM 
  your_table 
ORDER BY 
  ABS(DATEDIFF(NOW(), `date`))
LIMIT 1

答案 1 :(得分:0)

select top 1 date from table
where date > now()
order by date desc

答案 2 :(得分:0)

SELECT * FROM `your_table` WHERE ABS(DATEDIFF(`date`, NOW()));

返回:

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