Как я могу отсортировать (упорядочить по) в postgres, игнорируя ведущие слова, такие как "the, a и т. Д." - PullRequest
3 голосов
/ 18 августа 2011

Я бы хотел иметь возможность сортировать (упорядочивать) в postgres, игнорируя ведущие слова, такие как "the, a и т. Д."

Ответы [ 4 ]

4 голосов
/ 18 августа 2011

в одну сторону: скрипт (используя ваш любимый язык) создание дополнительного столбца текста с удаленными шумовыми словами и сортировка по нему.

0 голосов
/ 12 августа 2015

Нет необходимости добавлять дополнительный столбец.Удалите главные слова в вашем ORDER BY:

SELECT col FROM table ORDER BY REPLACE(REPLACE(col, 'A ', ''), 'The ', '')
0 голосов
/ 19 августа 2011

Попробуйте разбить столбец и отсортировать по второму элементу в полученном массиве:

select some_col from some_table order by split_part(some_col, ' ', 2);
0 голосов
/ 18 августа 2011

Добавьте столбец SORT_NAME, в котором все эти материалы удалены.Для получения бонусных баллов используйте триггер ввода, чтобы заполнить его автоматически, используя анализатор регулярных выражений вашего любимого диалекта SQL или аналогичный.

...