サーバー側でクエリを実行する必要がない場合は、次の擬似コードメソッドが機能します。
foreach value in the data set
let distance = absolute value of ( data point - target data value )
sort by distance, ascending
choose first
C#では、メソッドを使用して時間間隔を簡単に計算し、たとえば、返されたオブジェクトのプロパティDateTime.Substract
の絶対値を取得できます。TimeSpan
Days
私はSQLの日付操作についてあまり専門的ではありませんが、次のようなものを使用して、サーバー側で同じようなことを実行できると思います。
select * from table, abs(Datediff(datecolumn.table, sysdatetime)) as distance
order by distance
次に、最初の値を使用します。
申し訳ありませんが、サーバー側とクライアント側の作業を組み合わせることができるLINQ形式が必要であることに気づきました。これは次のようなものです。
(from q in datacontext.Table
let distance = Math.Abs(q.Date.Subtract(DateTime.Today).Ticks)
orderby distance
select q).First();