Обсуждение: Ordering a name list and ignoring whitespace

Поиск
Список
Период
Сортировка

Ordering a name list and ignoring whitespace

От
Mikel Lindsaar
Дата:
Hi all,

Doing some googling and looking through the docs, I can't find an
obvious way to do this beside post processing after the query (which I
am trying to avoid).

I'm trying to select a list of names in alphabetical order but
ignoring the whitespace.

So for example, the name "La Combe" should come after "Lace" but
before "Lacs..."


Any ideas?

Mikel


Re: Ordering a name list and ignoring whitespace

От
Mario Splivalo
Дата:
Mikel Lindsaar wrote:
> Hi all,
> 
> Doing some googling and looking through the docs, I can't find an
> obvious way to do this beside post processing after the query (which I
> am trying to avoid).
> 
> I'm trying to select a list of names in alphabetical order but
> ignoring the whitespace.
> 
> So for example, the name "La Combe" should come after "Lace" but
> before "Lacs..."
> 
> Any ideas?

Could you do it like this:

SELECT       replace(name_column, ' ', '') AS name_replaced
FROM       your_table_name
ORDER BY       name_replaced

This can get a bit slowish if your table has quite a number of rows.
Mike


Re: Ordering a name list and ignoring whitespace

От
Tom Lane
Дата:
Mikel Lindsaar <raasdnil@gmail.com> writes:
> I'm trying to select a list of names in alphabetical order but
> ignoring the whitespace.

> So for example, the name "La Combe" should come after "Lace" but
> before "Lacs..."

FWIW, this would probably happen automatically if you were using a
non-C locale.  I'm not sure that's really a good solution, because
switching to a different locale would affect every sort operation
you ever do.  But it's an alternative to consider.
        regards, tom lane