CREATE function fnGetDiasNoIntervaloData
(
@anoInicio smallint,
@mesInicio tinyint,
@diaInicio tinyint,
@anoFim smallint,
@mesFim tinyint,
@diaFim tinyint
)
returns @datas table
(
data smalldatetime,
diaSemana varchar(13)
)
as
begin
declare @dataInicial datetime
declare @dataFinal datetime
declare @dia varchar(13)
SELECT @dataInicial = cast(@anoInicio as varchar(4))+ '-' +
cast(@mesInicio as varchar(2)) + '-' +
cast(@diaInicio as varchar(2))
SELECT @dataFinal = cast(@anoFim as varchar(4))+ '-' +
cast(@mesFim as varchar(2)) + '-' +
cast(@diaFim as varchar(2))
SELECT @dia = (SELECT [GAP].[dbo].[fnGetDIASemanaExt](@dataInicial))
WHILE @dataInicial <= @dataFinal
begin
insert into @datas values (@dataInicial, @dia)
SELECT
@dataInicial = DATEADD(DAY,1,@dataInicial),
@dia = (SELECT [GAP].[dbo].[fnGetDIASemanaExt](@dataInicial))
end
return
end
--select * from fnGetDiasNoIntervaloData(2009,1,1,2009,1,31)
Comentários
Postar um comentário
Os códigos postados aqui são uma seqüência de instruções de forma ordenada, não compilada para o código de máquina, em uma determinada linguagem de programação.
Ajude a melhorar esses códigos.