Al ejecutar la sentenciawith apellidos (apellido) as (values ('ALVARES'), ('DE LA CRUZ'),('DE TRINIDAD'),('FONSECA'),('MENDOZA'),('NORORI'),('OSORIO'),('ÑURINDA'),('ÑAMENDI'),('PEREZ'),('PEÑA'))select * from apellidos order by apellido collate "es_AR"; el resultado es: "ALVARES""DE LA CRUZ""DE TRINIDAD""FONSECA""MENDOZA""ÑAMENDI""NORORI""ÑURINDA""OSORIO""PEÑA""PEREZ"
El Jueves, 30 de junio, 2016 11:24:57, Gerardo Herzig <gher...@fmed.uba.ar> escribió: ----- 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�: http://www.postgresql.org/mailpref/pgsql-es-ayuda