Ý tưởng chính là sử dụng order by và limit :
Nếu bạn muốn cái gần nhất trước đây:
SELECT one
FROM table
WHERE datetimefield <= '2014-12-10 09:45:00'
ORDER BY datetimefield DESC
LIMIT 1;
Nếu bạn muốn gần nhất, theo một trong hai hướng, thì hãy sử dụng TIMESTAMPDIFF() :
ORDER BY abs(TIMESTAMPDIFF(second, datetimefield, '2014-12-10 09:45:00'))
LIMIT 1