or maybe thisSELECT d.ma NearestLowerDate, d.mi NearestHigherDate, CASE WHEN ABS(DATEDIFF(second, d.ma, @YourDatetimeVariable)) < ABS(DATEDIFF(second, d.mi, @YourDatetimeVariable)) THEN d.ma ELSE d.mi END NearestOverallDateFROM ( SELECT MAX(YourDatetimeColumn) ma FROM YourTable WHERE YourDatetimeColumn <= @YourDatetimeVariable UNION ALL SELECT MIN(YourDatetimeColumn) mi FROM YourTable WHERE YourDatetimeColumn >= @YourDatetimeVariable ) d
Peter LarssonHelsingborg, Sweden