2009-11-10 52 views

回答

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() 
+0

哎呀 - 我想你的意思Math.Abs​​(18 - q.Number)。 +1虽然。 – 2009-11-10 05:29:19

+0

如果是日期时间类型,该怎么办? – scrippie 2009-11-10 05:29:55

+0

它会工作,除非你必须从返回的时间范围内获得TotalSeconds或类似。 – 2009-11-10 05:32:18