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