Wenn ich davon ausgehe, dass Vorwahl ein varchar ist (und nicht etwa ein int), würd ichs mal so probieren:
select Vorwahl, Land, Stadt from Vorwahlen where Vorwahl < '237996428' order by Vorwahl desc
Der erste Eintrag in deinem Resultset sollte dann der best passendsde sein.
Nach Möglichkeit würde ich aber noch die Datenmenge beschränke da sonst unter Umnständen alle 160000 Datensätze zum Client gehen. (Stichwort TOP unter
MSSQL bzw. LIMIT unter
MySQL)