Uy que bien Alvaro!!, la verdad esta funcionalidad no la conocía :-) order by a.nombre collate "C";
2012/9/11 Alvaro Herrera <alvhe...@2ndquadrant.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.