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
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 |