Cześć,
a nie wystarczy po prostu założyć limitu na zwracane wiersze? Tzn.
select *
from tabela
where data_tabela > 'twojadata'
order by data_tabela
limit 1
data_tabela - kolumna z datą w tabeli bazy danych
'twojadata' - interesująca Cię data.
Składnia może się nieco różnić w zależności od silnika bazy danych, ale takie podejście powinno wystarczyć.