SP para retornar último dia do mês no Firebird

Esta SP muito útil retorna, com base nos parâmetros dia e ano o último dia do mês.


SET TERM ^ ;

create or alter procedure SP_ULTIMODIAMES (
MES DIAS,
ANO DIAS)
returns (
ULTIMO_DIA smallint)
as
declare variable VPROXMES integer;
declare variable DATA date;
begin
if (:mes is null) then
mes=EXTRACT(month FROM CURRENT_DATE);

if (:ano is null) then
ano=EXTRACT(YEAR FROM CURRENT_DATE);

vproxmes = :mes+1;

if (:mes=12) then
begin
ano= :ano+1;
vproxmes = 1;
end

DATA = '01.'||:vproxmes||'.'||ANO;
ultimo_dia = EXTRACT(DAY FROM (CAST(DATA AS DATE)-1));
suspend;
end^

SET TERM ; ^

COMMENT ON PROCEDURE SP_ULTIMODIAMES IS
'Retorna o ultimo dia do mes';

GRANT EXECUTE ON PROCEDURE SP_ULTIMODIAMES TO SYSDBA;




Comentários

Postagens mais visitadas deste blog

[resolvido] USB To Serial Prolific no Windows 7 e 8x e 10

Como Alterar o Perfil da Rede Pública para Privada no “Windows 8.1″ e “Windows Server 2012″

Corrigir BAD_SYSTEM_CONFIG_INFO no Windows 7,8, 8.1, 10