El 14/08/2015 a las 16:17, Alvaro Herrera escribió:
Kernel escribió:

Gracias por tu respuesta, pero no es que quiera ordenar un caracter, es un
ejemplo, imagina que quiero ordenar un char(16)

a lo que me refiero que en cualquier query cuando compara

codigo >= 'A....'

Los que empezaran por 'a....' no saldrian


La base de datos es utf8 y los clientes utilizan (SET  client_encoding=
latin9)

Quizás te sirva cambiar el COLLATE, pero espero que pienses bien lo que
quieres y consideres los casos con caracteres no ascii.

Ejemplo:

alvherre=# values ('abc'), ('Abc'), ('Bbc'), ('bbc'), ('Ccd') order by column1;
  column1
---------
  abc
  Abc
  bbc
  Bbc
  Ccd
(5 filas)

alvherre=# values ('abc'), ('Abc'), ('Bbc'), ('bbc'), ('Ccd') order by column1 collate 
"C";
  column1
---------
  Abc
  Bbc
  Ccd
  abc
  bbc
(5 filas)


Gracias, veo que el problema esta en el COLLATE, ¿hay alguna forma de que se quede fijo ?, lo digo para las comparaciones en campos sql.

Estoy migrando una aplicacion antigua que estaba en INFORMIX, y tiene
muchas comparaciones del tipo

AND clave >= '..'
AND calve <= 'zz'

¿Algun SET o algo asi?






-
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