Credo che servano almeno 2 query:
1° query:
SELECT mydata FROM miatabella WHERE mydata <= oradaconfrontare ORDER BY mydata DESC limit 1
2° query:
SELECT mydata FROM miatabella WHERE mydata >= oradaconfrontare ORDER BY mydata ASC limit 1
Con queste due query (occhio che non le ho testate) dovresti ricavare il mydata che piu' si avvicina per difetto (1° query) e per eccesso (2° query).
Poi devi trasformare le date in formato timestamp in modo da essere comodo a fare sottrazioni.
Poi confronti il risultato di oradaconfrontare meno il risultato di 1° query con risultato 2° query meno oradaconfrontare e vedi qual'e' piu' piccolo.
Ciao