Re: [psql-es-ayuda] ordenamiento con Ñ

From: Eveling Velásquez <lingso13(at)yahoo(dot)es>
To: Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar>
Cc: Pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [psql-es-ayuda] ordenamiento con Ñ
Date: 2016-06-30 16:35:09
Message-ID: 169723320.7217071.1467304509351.JavaMail.yahoo@mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

estaba usando collate C, debido a que si no lo pongo, el ordenamiento queda asiALVARES
DE LA CRUZ
DELGADODE TRINIDAD FONSECAMENDOZA
Debiendo estar los q marque en negristas, juntos. al usar es_AR los deja de la manera anterior 
Eveling Velasquez

El Jueves, 30 de junio, 2016 10:32:59, Eveling Velásquez <lingso13(at)yahoo(dot)es> escribió:

Centos 7Version PG 9.5client_encoding     UTF8server_encoding UTF8lc_collate en_US.UTF-8lc_ctype en_US.UTF-8el tipo de dato de la columna es character varying

Use collate "es_AR" y el orden es el misno, la Ñ al final no despues d la N
Eveling Velasquez

El Jueves, 30 de junio, 2016 9:54:51, Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar> escribió:

>
> Buen dia
> Necesito hacer un ordenamiento como el siguiente:
>
>
> ALVARES
> DE LA CRUZ
> DE TRINIDAD
> FONSECA
> MENDOZA
> NORORI
> ÑURINDA
> OSORIO
>
>
> hago un order by collate "C" y el resultado es
>
>
>
> ALVARES
> DE LA CRUZ
> DE TRINIDAD
> FONSECA
> MENDOZA
> NORORI
> OSORIO
>
> ÑURINDA
>
>
>
> quedando la letra Ñ al final, debiendo quedar después de la N

Si, es el comportamiento esperado para la Collation "C" (de acuerdo a las docs):
"""
On all platforms, the collations named default, C, and POSIX are available. Additional collations may be available depending on operating system support. The default collation selects the LC_COLLATE and LC_CTYPE values specified at database creation time. The C and POSIX collations both specify "traditional C" behavior, in which only the ASCII letters "A" through "Z" are treated as letters, and sorting is done strictly by character code byte values.
"""

Tenes que especificar una collation que respete las normas de ordenamiento correspondiente a tu idioma:

postgres=# with apellidos (apellido) as (values ('ALVARES'),
('DE LA CRUZ'),
('DE TRINIDAD'),
('FONSECA'),
('MENDOZA'),
('NORORI'),
('OSORIO'),
('ÑURINDA')

)

select * from apellidos order by apellido collate "es_AR";
  apellido 
-------------
ALVARES
DE LA CRUZ
DE TRINIDAD
FONSECA
MENDOZA
NORORI
ÑURINDA
OSORIO
(8 filas)

Por cierto, por que usas collation "C"? Cual es la default collation para la base en la que estas trabajando?

Gerardo

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripci�:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo E. Villanueva 2016-06-30 16:48:08 hash
Previous Message Eveling Velásquez 2016-06-30 16:32:59 Re: [psql-es-ayuda] ordenamiento con Ñ