Ver Mensaje Individual
  #2  
Antiguo 04-03-2004
Avatar de abel
abel abel is offline
Miembro
 
Registrado: sep 2003
Posts: 59
Reputación: 21
abel Va por buen camino
Hola:

Puedes hacerlo con procedimientos almacenados, prueba con esto:
Código:
CREATE PROCEDURE PA_EXTRAEDIASEMANA (
    ADATE DATE)
RETURNS (
    RESULT INTEGER)
AS
DECLARE VARIABLE ELAPSED INTEGER;
DECLARE VARIABLE TEMP INTEGER;
BEGIN
   Elapsed = ADate - "1.1.96";
   EXECUTE PROCEDURE PA_ObtieneResto(Elapsed, 7) RETURNING_VALUES temp;
   RESULT = CAST(temp as INTEGER);
END
y este otro:

Código:
CREATE PROCEDURE PA_OBTIENERESTO (
    DIVIDEND DOUBLE PRECISION,
    DIVISOR DOUBLE PRECISION)
RETURNS (
    RESULT DOUBLE PRECISION)
AS
BEGIN
  IF(Dividend = 0) THEN Result = 0;
  ELSE
    Result = Dividend-(CAST((Dividend / Divisor)-0.5 AS INTEGER)*Divisor);
END
Te devuelve: 0->lunes, 1->martes, etc.

Saludos.
Responder Con Cita