我有一张桌子
Id Number
1 9
2 10
3 12
4 19
5 20
Run Code Online (Sandbox Code Playgroud)
选择Id,其中Number最接近18,它应返回第4行,即19
我如何在linq和tsql中写这个?谢谢
(from q in table
orderby Math.Abs(18 - q.Number)
select q).FirstOrDefault()
Run Code Online (Sandbox Code Playgroud)
和
SELECT TOP 1
*
FROM
table
ORDER BY
ABS(10 - Number)
Run Code Online (Sandbox Code Playgroud)
并为日期时间
var nearTo = new DateTime(1999, 12, 31);
(from q in table
orderby Math.Abs((nearTo - q.Date).TotalSeconds)
select q).FirstOrDefault()
Run Code Online (Sandbox Code Playgroud)