Я ожидаю, что следующее будет соответствовать вашим потребностям лучше всего:
ORDER BY
NOT starts_with(name, '.'),
name COLLATE "C"
Сначала будут отсортированы «точечные файлы», потому что FALSE < TRUE
, и в этих группах имена сортируются в двоичном порядке (например, заглавные буквы перед строчными).
Мой COLLATE "C"
имеет тот же эффект, что и ваш актерский состав, за исключением того, что он дешевле.
Ваш запрос достигает желаемого (в некоторой степени)) потому что значение ASCII для .
меньше значения ASCII для всех букв.
Если вы предпочитаете, чтобы имена сортировались в порядке естественного языка (например, albe < Simek
), удалите предложение COLLATE
в моем ответе.