diego.marti...@gmail.com
unread,Jun 28, 2017, 12:09:54 PM6/28/17You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
Tal vez esta función que alguna vez hice les funcione
CREATE FUNCTION [dbo].[f_getDias360]
(
@pFechaInicial DATE
,@pFechaFinal DATE
)
RETURNS INT
AS
BEGIN--INICIO
----------------------------------------------------------------------
--DECLARACION DE VARIABLES
----------------------------------------------------------------------
DECLARE
@fechaInicial DATE=@pFechaInicial
,@fechaFinal DATE=@pFechaFinal
DECLARE
@diaInicio INT=DAY(@fechaInicial)
,@diaFin INT=DAY(@fechaFinal)
,@diasMes INT=30
,@cantidadDias360 INT
,@diferenciaMeses INT
,@diferenciaDiasInicial INT
,@diferenciaDiasFinal INT
----------------------------------------------------------------------
----------------------------------------------------------------------
--FUNCION
----------------------------------------------------------------------
SELECT
@diaInicio=CASE WHEN @diaInicio>@diasMes THEN @diasMes ELSE @diaInicio END
,@diaFin=CASE WHEN @diaFin>@diasMes THEN @diasMes ELSE @diaFin END
SELECT
@diferenciaMeses=DATEDIFF(MONTH,@fechaInicial,@fechaFinal)+1--SE SUMA 1 PARA INCLUIR EL MES DE LA FECHA INICIAL
SELECT
@diferenciaDiasInicial=@diaInicio-1
,@diferenciaDiasFinal=30-@diaFin
SELECT
@cantidadDias360=
(@diferenciaMeses*@diasMes)
-@diferenciaDiasInicial
-@diferenciaDiasFinal
----------------------------------------------------------------------
RETURN @cantidadDias360
END--FIN