我需要从MySQL表中获取与当前日期最接近的日期。
这是我的表:
id | date | name
1 | 2012-10-29 | test
2 | 2009-11-31 | test
因此,如果查询今天运行,它将返回1 | 2012-10-29 | test
非常感谢任何帮助。感谢
答案 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'