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
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... |