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