Если вы хотите быть хитрым, вы можете сделать:
order by cast(replace(col, '-', '.') as decimal(30, 15))
Это заменит дефис десятичной точкой, преобразует в числовое значение и использует его для сортировки.Это должно работать почти в любой базе данных.
Это не идеально, потому что на самом деле он не упорядочен по второму номеру диапазона правильно.Но первое число должно точно совпадать (и по какой-то причине это кажется мне маловероятным исходя из ваших выборочных данных).