Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   comparar horas (https://www.clubdelphi.com/foros/showthread.php?t=17950)

noobdelphi 26-01-2005 22:55:14

comparar horas
 
buenas de nuevo, hace poco puse un hilo y gracias a la ayuda de algunos de el foro pues encontre una solucion.
ahora tengo un problema con el mismo disparardor en la base de datos firebird necesito saber si una hora es mayor que otra ambas horas estan en una campo en la db, pero ademas depues tengo que compara con horas que estan en 2 variables.
he tratado de hacerlo de la manera tradicional y me saca un menssaje de overflow en al string varios errores me ha sacadi incluso cuando trato de asignar la hora de el campo el error es el siguiente

Overflow occurred during data type conversion.
conversion error from string "01:00:00 a.m.".


de ante mano muchas gracias

marcoszorrilla 26-01-2005 22:57:33

Convendría que pusieras el código que motiva ese error.

Un Saludo.

noobdelphi 27-01-2005 15:55:01

Aclaro que new.md_hoin esta declarada en la tabla como time
Código SQL [-]
 CREATE TRIGGER MOVDIA_TG_MOV FOR MOVDIA
 INACTIVE AFTER INSERT OR UPDATE POSITION 10
 AS
 declare variable hst time;
 declare variable hn time;
 declare variable het time;
 declare variable hsm time;
 declare variable timeout time;
 declare variable timein time;
 declare variable fein date;
 begin
         if(new.md_feout>new.md_fein )then
         begin
              fein=new.md_fein;
              timein=new.md_hoin;(AKI ME GENERA EL ERROR)
              if(new.md_hoin > :hst)then
              begin
                     hn=0;
              end
              if(:het<=:timein and :timein<=:hst)then
              begin
                     hn=:hst-:timein;
              end
              if(:hsm<:timein and :timein<:het)then
              begin
                     hn=:hst-:het;
              end
 
              if(:timein<=:hsm)then
              begin
                     hn=(:hst-:het)+(:hst-:timein);
              end
 
         end
 end

puse todo el ejemplo porque me ademas quisiera saber si las operaciones con horas se pueden hacer de manera directa como lo intento hacer.
todos los datos los saco de valores de otras tablas por medio de un select.
muchas gracias por la ayuda que me puedan prestar


La franja horaria es GMT +2. Ahora son las 01:33:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi