----- Mensaje original -----
> De: "Eveling Velásquez" <lings...@yahoo.es>
> Para: "Gerardo Herzig" <gher...@fmed.uba.ar>
> CC: "Pgsql-es-ayuda" <pgsql-es-ayuda@postgresql.org>
> Enviados: Jueves, 30 de Junio 2016 13:32:59
> Asunto: Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
> 
> 
> 
> Centos 7
> Version PG 9.5
> 
> client_encoding UTF8
> server_encoding UTF8
> lc_collate en_US.UTF-8
> lc_ctype en_US.UTF-8
> el 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
> <gher...@fmed.uba.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
> 
Mmm perdon, copiaste exactamente la misma query que hice yo? No podra ser que 
tengas algun caracter raro (no visible) dentro de esos string?

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

Responder a