From: | Alexis Camue <acamue(at)estudiantes(dot)uci(dot)cu> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Tipo de dato de una columna |
Date: | 2012-05-26 02:45:57 |
Message-ID: | 30a8b335-8ecf-47e6-b38c-78e22dcfca2f@ucimail4.uci.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Buenas lista:
1-¿Cómo puedo saber el tipo de dato de una columna a partir de uno de sus elementos?¿Esto es posible?
Ejemplo: La tabla persona, tiene una columna de tipo text llamada no nombre y esta un elemento ´José´.
A la consulta se le pasaría ´José´ y devolvería "text".
2- ¿Donde puedo encontrar un listado o información sobre todos los tipos de datos que para insertarse en una tabla necesitan estar entre comillas simples? Como los character varying, varchar, character, char, text..etc ¿O todos los llevan menos los numéricos?
Gracias de antemano...
"Quien quiere hacer busca medios...quien no quiere hacer busca justificaciones"
"Cada persona desconocida, es un amigo esperando por ti"
Alexis Camué Hernandez
apto: 102 206
Telf: (837)2926
Universidad de Ciencias Informáticas
----- Mensaje original -----
De: "Anthony" <asotolongo(at)uci(dot)cu>
Para: "Conrado Blasetti" <conrado(at)mapfre(dot)com(dot)ar>
CC: pgsql-es-ayuda(at)postgresql(dot)org
Enviados: Jueves, 24 de Mayo 2012 11:02:45
Asunto: Re: [pgsql-es-ayuda] Funcion ventana nueva consulta
El 24/05/2012 9:45, Conrado Blasetti escribió:
Julio, muchas gracias por responder.
Ahora, se me plantea una nueva duda con respecto a la sentencia (perdón por no haberla expuesto en el msg anterior)
Teniendo los datos de esta manera (se agrega una fecha)
drop table foo;
create table foo (
id serial not null,
tipo numeric(10) not null,
fecha date not null,
imp numeric(10,2) not null,
CONSTRAINT foo_id PRIMARY KEY (id)
);
insert into foo (fecha,tipo, imp) values ('01/01/2012'::date,1,30.5);
insert into foo (fecha,tipo, imp) values ('02/01/2012'::date,1,20.25);
insert into foo (fecha,tipo, imp) values ('03/01/2012'::date,2,30);
insert into foo (fecha,tipo, imp) values ('04/01/2012'::date,1,75.3);
insert into foo (fecha,tipo, imp) values ('05/01/2012'::date,1,75.3);
insert into foo (fecha,tipo, imp) values ('06/01/2012'::date,2,100);
insert into foo (fecha,tipo, imp) values ('15/04/2012'::date,1,30.5+7);
insert into foo (fecha,tipo, imp) values ('16/04/2012'::date,1,20.25+7);
insert into foo (fecha,tipo, imp) values ('17/04/2012'::date,2,30+7);
insert into foo (fecha,tipo, imp) values ('18/04/2012'::date,1,75.3+7);
insert into foo (fecha,tipo, imp) values ('19/04/2012'::date,1,75.3+7);
insert into foo (fecha,tipo, imp) values ('20/04/2012'::date,2,100+7);
insert into foo (fecha,tipo, imp) values ('22/05/2012'::date,1,30.5+17);
insert into foo (fecha,tipo, imp) values ('22/05/2012'::date,1,20.25+17);
insert into foo (fecha,tipo, imp) values ('23/05/2012'::date,2,30+17);
insert into foo (fecha,tipo, imp) values ('23/05/2012'::date,1,75.3+17);
insert into foo (fecha,tipo, imp) values ('24/05/2012'::date,1,75.3+17);
insert into foo (fecha,tipo, imp) values ('24/05/2012'::date,2,100+17);
SQL agregando la fecha.
select fecha,tipo1, tipo2, sum(imp) over (order by id)
from (select id, fecha, imp as tipo1, 0 as tipo2, imp
from foo
where tipo= 1
union
select id, fecha, 0 as tipo1, imp as tipo2, imp*-1
from foo
where tipo= 2) Aux
La consulta es, cómo hacer para obtener datos “semi” detallados?
Digamos, quiero ver el detalle del mes 4, debería ejecutar el sql con el where correspondiente.
Pero el tema es que, la columna SUM, me acumula sobre los registros del where (es lógico porque es lo que le pido), estaría necesitando un acumulado de imp1 imp2 y sum() para lo anterior a abril, que se muestre el detalle de abril movimiento por movimiento (pero que el acumulado sume lo anterior) y luego otro acumulado de todo lo que hay después de abril de forma resumida, en este caso, todo ordenado por fecha, mostrando algo asi:
fecha
imp1
imp2
acumulado
tipo
null
201,35
130
71,35
RESUMEN
15/04/2012
37,5
108,85
detalle
16/04/2012
27,25
136,1
detalle
17/04/2012
37
99,1
detalle
18/04/2012
82,3
181,4
detalle
19/04/2012
82,3
263,7
detalle
20/04/2012
107
156,7
detalle
null
269,35
164
262,05
RESUMEN
Se podrá resolver también?
Nuevamente, gracias
Saludos,
Conrado
bueno agrégale esto al final y ya
where fecha between '2012-04-01' and '2012-04-30'
;-)
saludos
10mo. ANIVERSARIO DE LA CREACION DE LA UNIVERSIDAD DE LAS CIENCIAS INFORMATICAS...
CONECTADOS AL FUTURO, CONECTADOS A LA REVOLUCION
http://www.uci.cu
http://www.facebook.com/universidad.uci
http://www.flickr.com/photos/universidad_uci
From | Date | Subject | |
---|---|---|---|
Next Message | Eduardo Arenas C. | 2012-05-26 12:21:35 | Re: Funcion ventana nueva consulta |
Previous Message | Alejandro Carrillo | 2012-05-24 20:53:41 | Re: [pgsql-es-ayuda] Insert automáticos en tablas (Ejecución programada mensual) |