Table structure
id from(date)_field to(date)_field field3 field4
1 date1 date2 something something
2 date3 date4 something something
3 date5 date6 something something
. . . . .
. . . . .
我想找出from(date)_field在user_input_date和from(date)_field之间的前1行。
答案 0 :(得分:0)
您可以这样做:
select t.*
from t
order by abs(datediff(fromdate, @yourdate))
limit 1;
通常,您不希望最近的日期。您可能希望在日期位于“到”和“从”日期之间的行。但是,您明确要求最接近。
答案 1 :(得分:-1)
使用datediff并找到最小值。
SELECT DATEDIFF(second, fromdate, Userdate) AS DateDiff;
SELECT DATEDIFF(second, Todate, Userdate) AS DateDiff1;
比较DateDiff
和DateDiff1
,它们的最低值将是最接近的