Ver Mensaje Individual
  #1  
Antiguo 25-05-2004
Avatar de Ismael
Ismael Ismael is offline
Registrado
 
Registrado: may 2004
Posts: 3
Reputación: 0
Ismael Va por buen camino
Question Sumar TimeStamp en la sección Where

Hola a todos,

Soy nuevo en este foro y lo primero es dar las gracias a todos por las respuestas que en el mismo he encotrado, me han sido de mucha ayuda.

Mi pregunta es la siguiente:

¿Como puedo hacer operaciones con campos de tipo TimeStamp en la sección where de una sentencia Select?

Mi intención es realizar un prodimiento almacenado que me indique si una cita con una duración está dentro las citas ya grabada en la tabla (Agenda)

Los campos que intervienen en la consulta son:
FECHA (TimeStamp) fecha de la cita.
HORA (TimeStamp) hora de la cita.
DURACION (TimeStamp) duración de la cita.

El procedimiento que he implementado (pero que no compila) es el siguiente:

Create procedure Periodo_Ocupado(REFCODEMPLEADO VARCHAR(16),
REFCODDELEGACION VARCHAR(16),
FECHA TIMESTAMP,
HORA TIMESTAMP,
DURACION TIMESTAMP)
RETURNS (Ocupado INTEGER)
AS
DECLARE VARIABLE FechaINI TIMESTAMP;
DECLARE VARIABLE FechaFIN TIMESTAMP;
BEGIN
FechaINI = :FECHA + :HORA;
FechaFIN = :FECHA + :HORA + : DURACION;
Select count(*) from AGENDA
WHERE
(FECHA+HORA > :FechaINI and FECHA+HORA < :FechaFIN) OR
(FECHA+HORA+DURACION > :FechaINI and FECHA+HORA+DURACION < :FechaFIN)
INTO :Ocupado;
END;

El error que me da es "Expression evaluation not supported".

Alguien me podría indicar si IB admite las operaciones con Fecha y en caso afirmativo como se implementan.

Muchas gracia y un saludo
Ismael.
Responder Con Cita