Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
> estaba usando collate C, debido a que si no lo pongo, el ordenamiento > queda asi > ALVARES > DE LA CRUZ > DELGADO > DE TRINIDAD > FONSECA > MENDOZA > > > Debiendo estar los q marque en negristas, juntos. al usar es_AR los > deja de la manera anterior Ah pero...esa inquietud (de los espacios) no es la misma que la inquietud original del primer mail! Tambien dijiste que la collation es_AR no ordenaba correctamente las ñ...Por favor para la proxima, clarifica mejor tus preguntas, asi tendras respuestas mas precisas. Gerardo - 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
Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
Eveling Velásquez escribió: > Al hacer el ordenamiento con collate C, los espacios quedan bien > ordenados, mas no las Ñ. con es_EC se ordenan las Ñ mas no los > espacios.hay alguna manera de poder hacer una combinacion o algo por > el estilo? No que yo sepa. -- Álvaro Herrerahttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services - 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
Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
Al hacer el ordenamiento con collate C, los espacios quedan bien ordenados, mas no las Ñ. con es_EC se ordenan las Ñ mas no los espacios.hay alguna manera de poder hacer una combinacion o algo por el estilo?Gracias Eveling Velasquez El Viernes, 1 de julio, 2016 12:04:41, Alvaro Herreraescribió: Eveling Velásquez escribió: > hola Alvaro, disculpa los otros correos,probe lo que me indicastes > cat ordenÑURINDANARVAEZPEREZPEÑAALVARESMORENOZAPATAÑAMENDINUÑEZDE TRINIDADDE > LA CRUZ1CORADELGADILLO > cat orden | LC_COLLATE=es_EC.utf8 > el resultado esta bien con respecto a las Ñ sin embargo en los espacios da el > problema (DE LA CRUZ, DELGADILLO, DE TRINIDAD) Bueno, este comportamiento está especificado así en la definición del locale (se supone que es el orden “de diccionario”) y se supone que está correcto. Entiendo que tú querrías que el espacio se considerara mayor que todas las letras, o sea DELGADILLO DE LA CRUZ DE TRINIDAD pero creo que no hay ninguna forma de lograr esto, excepto escribiendo tu propia definición de locale a partir de es_EC.utf8. No he sabido de nadie que lo haya hecho, pero teóricamente es simple (aunque la mantención debe ser jodida). -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services - 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
Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
Eveling Velásquez escribió: > hola Alvaro, disculpa los otros correos,probe lo que me indicastes > cat ordenÑURINDANARVAEZPEREZPEÑAALVARESMORENOZAPATAÑAMENDINUÑEZDE TRINIDADDE > LA CRUZ1CORADELGADILLO > cat orden | LC_COLLATE=es_EC.utf8 > el resultado esta bien con respecto a las Ñ sin embargo en los espacios da el > problema (DE LA CRUZ, DELGADILLO, DE TRINIDAD) Bueno, este comportamiento está especificado así en la definición del locale (se supone que es el orden “de diccionario”) y se supone que está correcto. Entiendo que tú querrías que el espacio se considerara mayor que todas las letras, o sea DELGADILLO DE LA CRUZ DE TRINIDAD pero creo que no hay ninguna forma de lograr esto, excepto escribiendo tu propia definición de locale a partir de es_EC.utf8. No he sabido de nadie que lo haya hecho, pero teóricamente es simple (aunque la mantención debe ser jodida). -- Álvaro Herrerahttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services - 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
Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
hola Alvaro, disculpa los otros correos,probe lo que me indicastes cat ordenÑURINDANARVAEZPEREZPEÑAALVARESMORENOZAPATAÑAMENDINUÑEZDE TRINIDADDE LA CRUZ1CORADELGADILLO cat orden | LC_COLLATE=es_EC.utf8 el resultado esta bien con respecto a las Ñ sin embargo en los espacios da el problema (DE LA CRUZ, DELGADILLO, DE TRINIDAD) 1CORA ALVARES DE LA CRUZ DELGADILLODE TRINIDAD MORENO NARVAEZ NUÑEZ ÑAMENDIÑURINDAPEÑAPEREZZAPATA Gracias El Viernes, 1 de julio, 2016 11:20:32, Alvaro Herreraescribió: Parto por aconsejar no usar HTML en los correos a la lista. Yo por lo menos veo mal los correos de Eveling y por eso no he contestado nada antes. Acá hay un ejemplo de cómo se ve para que se entienda a qué me refiero: https://www.postgresql.org/message-id/2043922929.768971.1467390777188.JavaMail.yahoo%40mail.yahoo.com Gerardo Herzig escribió: > Aha, parece que el problema esta en las locale. Tendrias que preguntar > en algun foro de centos, seguramente haya algun parche para la version > de locale que estes usando, o debas actualizar. No me parece que el resultado muestre ningún problema, sino que no lo está usando correctamente. En el sort está usando locale en_US que por lo visto considera la Ñ como una N con acento (y entonces los resultados se mezclan según la letra que venga después). En algún locale español debería quedar la Ñ correctamente como una letra separada. Posiblemente el hecho de seleccionar "es_AR" (como indicó más arriba en el thread) usa un locale para Latin1 en vez de UTF8 y eso también retorna un resultado incorrecto. Primero, usa "locale -a" para saber qué locales hay disponibles. Elegir un locale que no existe (no está instalado) es equivalente a elegir locale C, que ordena siguiendo valores de bytes ASCII. Luego, ejecuta algo así: echo "NO ÑU NZ ÑZ ONU" | LC_COLLATE=en_US.utf8 sort con varios valores distintos (válidos) en LC_COLLATE. Para algún locale con "es" debería dar el resultado esperado, PERO tiene que asegurarse que sea un locale UTF8 (que normalmente terminan en .utf8) -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services - 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
Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
Parto por aconsejar no usar HTML en los correos a la lista. Yo por lo menos veo mal los correos de Eveling y por eso no he contestado nada antes. Acá hay un ejemplo de cómo se ve para que se entienda a qué me refiero: https://www.postgresql.org/message-id/2043922929.768971.1467390777188.JavaMail.yahoo%40mail.yahoo.com Gerardo Herzig escribió: > Aha, parece que el problema esta en las locale. Tendrias que preguntar > en algun foro de centos, seguramente haya algun parche para la version > de locale que estes usando, o debas actualizar. No me parece que el resultado muestre ningún problema, sino que no lo está usando correctamente. En el sort está usando locale en_US que por lo visto considera la Ñ como una N con acento (y entonces los resultados se mezclan según la letra que venga después). En algún locale español debería quedar la Ñ correctamente como una letra separada. Posiblemente el hecho de seleccionar "es_AR" (como indicó más arriba en el thread) usa un locale para Latin1 en vez de UTF8 y eso también retorna un resultado incorrecto. Primero, usa "locale -a" para saber qué locales hay disponibles. Elegir un locale que no existe (no está instalado) es equivalente a elegir locale C, que ordena siguiendo valores de bytes ASCII. Luego, ejecuta algo así: echo "NO ÑU NZ ÑZ ONU" | LC_COLLATE=en_US.utf8 sort con varios valores distintos (válidos) en LC_COLLATE. Para algún locale con "es" debería dar el resultado esperado, PERO tiene que asegurarse que sea un locale UTF8 (que normalmente terminan en .utf8) -- Álvaro Herrerahttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services - 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
Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
Aha, parece que el problema esta en las locale. Tendrias que preguntar en algun foro de centos, seguramente haya algun parche para la version de locale que estes usando, o debas actualizar. Saludos Gerardo - 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: Viernes, 1 de Julio 2016 13:32:57 > Asunto: Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ > > > > Hola > > > el resultado es el siguiente > > > cat /orden > ALVARES > DE LA CRUZ > DE TRINIDAD > ÃRINDA > FONSECA > MENDOZA > NORORI > OSORIO > > > > > sort /orden > ALVARES > DE LA CRUZ > DE TRINIDAD > FONSECA > MENDOZA > NORORI > ÃRINDA > OSORIO > > > > > locale > LANG=en_US.UTF-8 > LC_CTYPE="en_US.UTF-8" > LC_NUMERIC="en_US.UTF-8" > LC_TIME="en_US.UTF-8" > LC_COLLATE="en_US.UTF-8" > LC_MONETARY="en_US.UTF-8" > LC_MESSAGES="en_US.UTF-8" > LC_PAPER="en_US.UTF-8" > LC_NAME="en_US.UTF-8" > LC_ADDRESS="en_US.UTF-8" > LC_TELEPHONE="en_US.UTF-8" > LC_MEASUREMENT="en_US.UTF-8" > LC_IDENTIFICATION="en_US.UTF-8" > LC_ALL= > > [root@srv01-bd ~]# > > > > > > > > > > > > > > El Jueves, 30 de junio, 2016 20:06:23, 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 15:05:24 > > Asunto: Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ > > > > > > > > Al ejecutar la sentencia > > with 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" > > > > > > > Me huele a que tenes un problema con las bilbiotecas "locale" en ese > server. > Tenes acceso a una consola en ese server? De ser asi, create un > archivo de texto con esos apellidos, y luego ordenalos con el > comando sort de linux. Algo asi: > root@admin-server :~# cat /tmp/archivo.txt > ALVARES > DE LA CRUZ > DE TRINIDAD > ÑURINDA > FONSECA > MENDOZA > NORORI > OSORIO > > root@admin-server :~# sort /tmp/archivo.txt > ALVARES > DE LA CRUZ > DE TRINIDAD > FONSECA > MENDOZA > NORORI > ÑURINDA > OSORIO > > Y, tambien corroborar cuales locale estas usando a nivel SO: > root@admin-server :~# locale > LANG=en_US.UTF-8 > LANGUAGE=en_US:en > LC_CTYPE=es_ES.UTF-8 > LC_NUMERIC="en_US.UTF-8" > LC_TIME="en_US.UTF-8" > LC_COLLATE=en_US.UTF-8 > LC_MONETARY="en_US.UTF-8" > LC_MESSAGES="en_US.UTF-8" > LC_PAPER="en_US.UTF-8" > LC_NAME="en_US.UTF-8" > LC_ADDRESS="en_US.UTF-8" > LC_TELEPHONE="en_US.UTF-8" > LC_MEASUREMENT="en_US.UTF-8" > LC_IDENTIFICATION="en_US.UTF-8" > LC_ALL= > > Que te sale a vos? > > > > > - > 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 > > - 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
Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
Hola el resultado es el siguiente cat /orden ALVARESDE LA CRUZDE TRINIDADÃRINDAFONSECAMENDOZANORORIOSORIO sort /orden ALVARESDE LA CRUZDE TRINIDADFONSECAMENDOZANORORIÃRINDAOSORIO localeLANG=en_US.UTF-8LC_CTYPE="en_US.UTF-8"LC_NUMERIC="en_US.UTF-8"LC_TIME="en_US.UTF-8"LC_COLLATE="en_US.UTF-8"LC_MONETARY="en_US.UTF-8"LC_MESSAGES="en_US.UTF-8"LC_PAPER="en_US.UTF-8"LC_NAME="en_US.UTF-8"LC_ADDRESS="en_US.UTF-8"LC_TELEPHONE="en_US.UTF-8"LC_MEASUREMENT="en_US.UTF-8"LC_IDENTIFICATION="en_US.UTF-8"LC_ALL=[root@srv01-bd ~]# El Jueves, 30 de junio, 2016 20:06:23, 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 15:05:24 > Asunto: Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ > > > > Al ejecutar la sentencia > with 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" > > > Me huele a que tenes un problema con las bilbiotecas "locale" en ese server. Tenes acceso a una consola en ese server? De ser asi, create un archivo de texto con esos apellidos, y luego ordenalos con el comando sort de linux. Algo asi: root@admin-server:~# cat /tmp/archivo.txt ALVARES DE LA CRUZ DE TRINIDAD ÑURINDA FONSECA MENDOZA NORORI OSORIO root@admin-server:~# sort /tmp/archivo.txt ALVARES DE LA CRUZ DE TRINIDAD FONSECA MENDOZA NORORI ÑURINDA OSORIO Y, tambien corroborar cuales locale estas usando a nivel SO: root@admin-server:~# locale LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_CTYPE=es_ES.UTF-8 LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE=en_US.UTF-8 LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= Que te sale a vos? - 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
Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
- 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 15:05:24 > Asunto: Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ > > > > Al ejecutar la sentencia > with 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" > > > Me huele a que tenes un problema con las bilbiotecas "locale" en ese server. Tenes acceso a una consola en ese server? De ser asi, create un archivo de texto con esos apellidos, y luego ordenalos con el comando sort de linux. Algo asi: root@admin-server:~# cat /tmp/archivo.txt ALVARES DE LA CRUZ DE TRINIDAD ÑURINDA FONSECA MENDOZA NORORI OSORIO root@admin-server:~# sort /tmp/archivo.txt ALVARES DE LA CRUZ DE TRINIDAD FONSECA MENDOZA NORORI ÑURINDA OSORIO Y, tambien corroborar cuales locale estas usando a nivel SO: root@admin-server:~# locale LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_CTYPE=es_ES.UTF-8 LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE=en_US.UTF-8 LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= Que te sale a vos? - 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
Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
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
Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
- 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
Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
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ásquezescribió: 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 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@postgresql.org) Para cambiar tu suscripci�: http://www.postgresql.org/mailpref/pgsql-es-ayuda
Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
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 Herzigescribió: > > 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@postgresql.org) Para cambiar tu suscripci�: http://www.postgresql.org/mailpref/pgsql-es-ayuda
Re: [pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
> > 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@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda
[pgsql-es-ayuda] [psql-es-ayuda] ordenamiento con Ñ
Buen diaNecesito hacer un ordenamiento como el siguiente: ALVARESDE LA CRUZDE TRINIDADFONSECAMENDOZANORORIÑURINDAOSORIO 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 hago un order by collate "C" y el resultado es ALVARESDE LA CRUZDE TRINIDADFONSECAMENDOZANORORIOSORIO ÑURINDA quedando la letra Ñ al final, debiendo quedar después de la N Gracias por sus comentarios