Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

ayuda con esta funcion

Estas en el tema de ayuda con esta funcion en el foro de PostgreSQL en Foros del Web. CREATE OR REPLACE FUNCTION getmora(integer,numeric,date) RETURNS numeric AS $BODY$ DECLARE numWeeks bigint; retorno numeric=0; varmora numeric; BEGIN IF($2>0.0) THEN SELECT mora INTO varmora FROM sede ...
  #1 (permalink)  
Antiguo 03/04/2010, 19:28
 
Fecha de Ingreso: marzo-2004
Mensajes: 70
Antigüedad: 20 años, 7 meses
Puntos: 0
ayuda con esta funcion

CREATE OR REPLACE FUNCTION getmora(integer,numeric,date)
RETURNS numeric AS
$BODY$

DECLARE
numWeeks bigint;
retorno numeric=0;
varmora numeric;
BEGIN
IF($2>0.0) THEN
SELECT mora INTO varmora FROM sede WHERE idsede=$1;
SELECT (to_date(to_char(now(), 'dd-mm-yyyy'),'dd-mm-yyyy')-to_date($3,'dd-mm-yyyy')/7) INTO numWeeks;
SELECT numWeeks*varmora INTO retorno;
END IF;

RETURN retorno;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION getmora(integer,numeric, date) OWNER TO postgres;


al llamar a la funcion me arroja un error que dice:
HINT: Ninguna función coincide en el nombre y tipos de argumentos. Puede desear agregar conversión explícita de tipos.
__________________
GuzZpaWn
  #2 (permalink)  
Antiguo 03/04/2010, 21:06
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: ayuda con esta funcion

La verdad no logro identificar que tratas de hacer en esta linea.

SELECT (to_date(to_char(now(), 'dd-mm-yyyy'),'dd-mm-yyyy')-to_date($3,'dd-mm-yyyy')/7) INTO numWeeks;
si utilizas now() y un campo de entrada previamente declarado como date solo requieres castear el now de timestamp a date y quedaría algoo así

Código SQL:
Ver original
  1. SELECT ((now()::DATE - $3)/7) INTO numWeeks;

Pruebala y dinos si es lo que requieres.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 05/04/2010, 10:14
 
Fecha de Ingreso: marzo-2004
Mensajes: 70
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: ayuda con esta funcion

gracias por tu respuesta wesos... me fue de maravilla
__________________
GuzZpaWn

Etiquetas: funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:36.