[firebase-br] FB 1.0 e função MOD
    HPensador 
    hpensador em gmail.com
       
    Qui Abr  2 09:35:29 -03 2009
    
    
  
Bom dia Magno!
Obrigado por sua atenção...
Bem conversando com um colega aqui na empresa acabamos chegando a essa 
função para o FB 1.0 (testada e funcionando 100%):
CREATE PROCEDURE BISEXTO (
     ano integer)
returns (
     resultado smallint)
as
declare variable mod_4 integer;
declare variable mod_100 integer;
declare variable mod_400 integer;
BEGIN
   SELECT :ANO - (CAST(:ANO/4 AS INTEGER) * 4) FROM RDB$DATABASE INTO 
:MOD_4;
   SELECT :ANO - (CAST(:ANO/100 AS INTEGER) * 100) FROM RDB$DATABASE 
INTO :MOD_100;
   SELECT :ANO - (CAST(:ANO/400 AS INTEGER) * 400) FROM RDB$DATABASE 
INTO :MOD_400;
   IF (((:MOD_4 = 0) AND (:MOD_100 <> 0)) OR (:MOD_400 = 0))  THEN
     RESULTADO = 1;
   ELSE
     RESULTADO = 0;
   SUSPEND;
END
Pronto... agora se algum colega precisar esta aí prontinha - é só usar.
-- 
[]'s,
Hélio Oliveira
Analista de Sistemas
Delphi Developer
http://hpensador.blogspot.com/
(71) 9975-9176
    
    
Mais detalhes sobre a lista de discussão lista