Fwd: Maximo valor de un char

From: "Roberto Guevara" <cygnus2k(at)gmail(dot)com>
To: alvherre(at)commandprompt(dot)com
Cc: PostgreSQL Español Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Fwd: Maximo valor de un char
Date: 2008-04-14 16:59:42
Message-ID: 57650fe50804140959g1eecc1eq3dad34234b6723a8@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

---------- Forwarded message ----------
From: Roberto Guevara <cygnus2k(at)gmail(dot)com>
Date: 2008/4/14
Subject: Re: [pgsql-es-ayuda] Maximo valor de un char
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>

2008/4/14 Alvaro Herrera <alvherre(at)commandprompt(dot)com>:

Roberto Guevara escribió:
> > Hola a todos, les comento
> > Estoy desarrollando (retomando un proyecto abandonado) una interfaz de
> idx a
> > postgres hasta ahora salio todo bien salvo con los valores maximos de
> los
> > strings.
> > La api crea una constante MAX_CHAR que tiene el caracter ÿ o sea el
> > caracter (int)255. Luego de acuerdo al tamaño del varchar concatena
> estos
> > caracteres para establecer el valor maximo de un string para aplicarlo
> de
> > esta forma:
> >
> > SELECT * FROM general.tipoe
> > WHERE tipoe.ti_tipo <= 'ÿ'
> > ORDER BY tipoe.ti_tipo
>
> Esto no tiene mucho sentido. El valor en bytes de un char depende de la
> codificacion -- por ejemplo en Latin1 no es lo mismo que en UTF8.
> Ademas, el servidor hace recodificacion automaticamente, lo cual puede
> cambiar los bytes que vayan al cliente con lo que se compara en el
> servidor.
>
> Si lo que quieres es almacenar un byte para indicar una categoria, te
> sugiero usar el tipo "char", con las comillas incluidas, o sea
>
> create table tipos (
> ti_tipo "char" NOT NULL,
> ti_dtip varchar(30)
> );
>
> Asi lo hacen los catalogos de sistema (por ejemplo pg_class.relkind).
> Es un truco feo en todo caso, y probablemente lo mejor sea evitarlo.
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> The PostgreSQL Company - Command Prompt, Inc.
>

Entiendo lo que me decís, pero de la conversion se encarga un ejecutable y
me lo deja asi. Salvando el detalle del tipo de dato. Como comparo una
cadena contra el maximo valor si no es por el codigo entero? Hay una
MAX_CHAR o algo por el estilo en sql?

Gracias.

PD: Me olvide de copiarlo a la lista

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2008-04-14 17:04:39 Re: Maximo valor de un char
Previous Message Sebastián Villalba 2008-04-14 16:50:26 Re: [OFF-TOPIC]RECIBIR LISTA DE CORREO EN OUTLOK