[firebase-br] Funcao para Incremento de Meses
Magno System
magno em speet.com.br
Seg Out 30 17:41:38 -03 2006
CREATE PROCEDURE PROC_INCMONTH (
DATA DATE,
NUMEROMESES INTEGER)
RETURNS (
RESULT DATE)
AS
DECLARE VARIABLE DIA INTEGER;
DECLARE VARIABLE MES INTEGER;
DECLARE VARIABLE ANO INTEGER;
DECLARE VARIABLE AUXILIAR INTEGER;
begin
DIA=EXTRACT(DAY FROM :DATA);
MES=EXTRACT(MONTH FROM :DATA);
ANO=EXTRACT(YEAR FROM :DATA);
if (MES + NUMEROMESES > 12) then
BEGIN
WHILE ((MES + NUMEROMESES) > 12) DO
BEGIN
NUMEROMESES = NUMEROMESES - 12;
ANO = ANO + 1;
END
MES = MES + NUMEROMESES;
END
ELSE
MES = MES + NUMEROMESES;
if ((MES = 4) or (MES = 6) or (MES = 9) or (MES = 11)) then
if (DIA = 31) THEN
DIA = 30;
if (MES = 2) then
BEGIN
AUXILIAR = 2004;
WHILE (AUXILIAR < ANO) DO
AUXILIAR = AUXILIAR + 4;
if (AUXILIAR = ANO) then
BEGIN
if ((DIA = 31) or (DIA = 30)) then
DIA = 29;
END
ELSE
BEGIN
if ((DIA = 31) or (DIA = 30) or (DIA = 29)) then
DIA = 28;
END
END
RESULT = MES || '/' || DIA || '/' || ANO;
suspend;
end
----- Original Message -----
From: "Murilo >>> CPR Sistemas" <murilo em cprinformatica.com.br>
To: <lista em firebase.com.br>
Sent: Monday, October 30, 2006 11:18 AM
Subject: [firebase-br] Funcao para Incremento de Meses
>O Firebird tem algum comando para realizar o incremento de meses, ou só com
>função externa?
>
> Alguém tem alguma procedure que o faça e queira compartilhar, não quero
> usar UDF's...
>
>
>
> ______________________________
> Murilo Garcia Bento
> CPR Sistemas
>
>
>
>
--------------------------------------------------------------------------------
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
--------------------------------------------------------------------------------
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date: 27/10/2006
Mais detalhes sobre a lista de discussão lista