Re: [Pgsql-ayuda] Duda con el Order by...

From: Alvaro Herrera Munoz <alvherre(at)dcc(dot)uchile(dot)cl>
To: Victor Chavez <vchavezp(at)yahoo(dot)com>
Cc: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [Pgsql-ayuda] Duda con el Order by...
Date: 2003-11-20 00:42:40
Message-ID: 20031120004240.GB7690@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Wed, Nov 19, 2003 at 06:21:55PM -0600, Victor Chavez wrote:

> No entiendo la razon por la cual el espacio que existe
> despues de la cadena 'JUAN' no es tomado en cuenta
> para ordenar los registros pues como puede observarse
> en los registros que he marcado con *, la ordenacion
> se realiz? como si los otros registros que no tienen
> el asterisco no tuvieran ese espacio en blanco...

> Hay algun modo de indicar el tipo de ordenacion o cual
> puede ser la explicacion de esto, pues otras
> herramientas como las hojas de calculo por ejemplo,
> primero ordenan los registros con el espacio y luego
> los demas en orden del alfabeto...

Evidentemente quien hizo las otras herramientas no tenia mucha idea
sobre las reglas idiomaticas para ordenar cadenas de caracteres. El
ordenamiento que ves, descartando espacios en blanco, es el correcto.
(No se quien es la autoridad al respecto, pero as es).

Si reinicializas (initdb?) la base de datos con lc_collate=C deberas
obtener el resultado que deseas, pero sospecho que vas a tener efectos
secundarios indeseables (no va a ordenar correctamente acentos o ).

Una alternativa, si el problema te preocupa mucho, es que prepares un
locale propio que considere el ordenamiento que a ti te interesa. Pero
es una tarea ardua y francamente no te lo recomiendo en absoluto.

Otra alternativa podra ser algo como

select
nombre
from test
where nombre like 'JUAN%'
order by substring(nombre from length('JUAN%') for 1), nombre;

pero es horrible. Aunque quizs encapsulado en una funcin no sea tan
grave ...

--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
FOO MANE PADME HUM

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message fernando miguel villarroel noriel 2003-11-20 02:01:40 Re: [Pgsql-ayuda] PostgreSQL-C-libpq
Previous Message Victor Chavez 2003-11-20 00:21:55 [Pgsql-ayuda] Duda con el Order by...