Re: Tamaño de un campo

From: "Julio Rivero" <jcrmlima(at)gmail(dot)com>
To: postgres <pgsql-es-ayuda(at)postgresql(dot)org>, alvherre(at)commandprompt(dot)com
Subject: Re: Tamaño de un campo
Date: 2006-03-05 04:10:31
Message-ID: d34a12b60603042010l7e6d342fv13d9304858f79ad7@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gracias Alvaro, funciona perfecto, solo que no entiendo muy bien lo de los
octetos en el tipo interno de dato del tipo númeric (esta indicación en el
tamaño que figura al momento de determinar a un campo de tipo numeric con
cierta escala de decimales).

On 3/4/06, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
>
> Julio Rivero escribió:
> > Hola a todos:
> >
> > Tengo una duda, quisiera saber como puedo obtener el valor del tamaño de
> un
> > campo de una tabla, ejemplo:
> >
> > create table tmp_prueba
> > (
> > serie varchar(5),
> > numero varchar(10)
> > );
> >
> > con algun query obtener algo asi:
> >
> > tabla campo tamaño
> > tmp_prueba serie 5
>
> select attrelid::regclass as tabla, attname as campo,
> format_type(atttypid, atttypmod),
> case when attlen = -1 then atttypmod - 4 else null end as "tamaño"
> from pg_attribute
> where attrelid = 'tmp_prueba'::regclass and attnum > 0 order by attnum;
>
> tabla | campo | format_type | tamaño
> ------------+--------+-----------------------+--------
> tmp_prueba | serie | character varying(5) | 5
> tmp_prueba | numero | character varying(10) | 10
> (2 filas)
>
>
> Tarea para la casa: corregir este ejemplo:
>
> alvherre=# alter table tmp_prueba add column otro_numero numeric (8, 5);
> ALTER TABLE
> alvherre=# select attrelid::regclass as tabla, attname as campo,
> format_type(atttypid, atttypmod),
> case when attlen = -1 then atttypmod - 4 else null end as "tamaño"
> from pg_attribute
> where attrelid = 'tmp_prueba'::regclass and attnum > 0 order by attnum;
>
> tabla | campo | format_type | tamaño
> ------------+-------------+-----------------------+--------
> tmp_prueba | serie | character varying(5) | 5
> tmp_prueba | numero | character varying(10) | 10
> tmp_prueba | otro_numero | numeric(8,5) | 524293
> (3 filas)
>
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>

--
Saludos
Att,
Julio Rivero
Movil: 98817321

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2006-03-05 14:31:51 Re: Tamaño de un campo
Previous Message Mario Gonzalez 2006-03-04 21:14:27 Re: Requerimientos para una base