Re: Problema con ORDER BY

From: Hellmuth Vargas <hivs77(at)gmail(dot)com>
To: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Problema con ORDER BY
Date: 2012-09-11 20:08:40
Message-ID: CAN3Qy4rLXqK5P-Fuqe465bQwWqUxURccWZG+4M+itfvcOYt3Rw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Uy que bien Alvaro!!, la verdad esta funcionalidad no la conocía :-)

order by a.nombre collate "C";

2012/9/11 Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>

> Excerpts from Jose Ayala - CROMOTEX's message of mar sep 11 16:08:19 -0300
> 2012:
> > Gracias por la ayuda, queria ver si alguien podia resolverlo sin tener
> que
> > hacer uso de otra funcion, solo con el order by clasico; leyendo por ahi
> me
> > indicaban que el problema es la forma en la que se construyen los
> indices,
> > y el order by usa estos indices;
>
> Esa explicación no tiene sentido.
>
> > asi que bueno yo lo solucione asi:
> >
> > select codigo,nombre from mitabla
> > ORDER BY ascii(nombre)
>
> Hm. Creo que si estás en una versión que soporte COLLATION, es mejor
> usar eso, porque el ascii() puede fallar en ciertos casos. Tomando el
> ejemplo
> de Hellmuth:
>
> alvherre=# select
> * from
>
> (values(100,'JUAN'),(200,'LUCHO'),(300,'ARMANDO'),(400,'_JOSE'),(500,'_adrian'))
> as a(codigo, nombre)
> order by a.nombre collate "C";
> codigo | nombre
> --------+---------
> 300 | ARMANDO
> 100 | JUAN
> 200 | LUCHO
> 400 | _JOSE
> 500 | _adrian
> (5 filas)
>
> eso es lo que quieres, ¿no?
>
> --
> Álvaro Herrera http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Training & Services
>

--
Cordialmente,

Ing. Hellmuth I. Vargas S.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ramón Alberto Bruening González 2012-09-11 20:19:33 Servidor Postgresql Público
Previous Message Omar Beltrán Cano 2012-09-11 20:05:13 Extraños rollback