Пять лет тому назад я уже писал о сортировке результата SQL-запроса по строковому полю содержащему комбинацию букв и цифр в "естественном" порядке. Естественный порядок сортировки – это способ упорядочивания строк, при котором вложенные числа рассматриваются как целые числовые значения, а не как последовательность символов. Тогда мной рассматривалось создание функций, которые реализуют такую сортировку под MS SQL Server, Oracle и PostgreSQL. В новом проекте на PostgreSQL мы снова столкнулись с необходимостью сортировки строк в естественном порядке. Когда я предложил разработчикам свою функцию, коллега мне подсказал другое решение – для полей нуждающихся в естественном порядке сортировки создать свой специальный COLLATION.
