Where-satsen kommer att matcha alla rader med datum mindre än @CurrentDate och eftersom de är ordnade efterföljande kommer TOP 1 att vara det datum som ligger närmast det aktuella datumet.
SELECT TOP 1 *
FROM x
WHERE x.date < @CurrentDate
ORDER BY x.date DESC