Calcular Qauntos Sábado tem em um periodo.
Ola Bom dia!!!
Estou precisando de uma ajuda.
Preciso fazer um script onde eu consiga encontrar quantos sabados existem em um determinado periodo.
ja utilizei uma serie de scripts e nenhum deles deram certo.
seque um script que tentei e nao funcionou tambem.
DECLARE @INICIO DATE, @FIM DATE, @DATA DATE,
@CONTROLE BIT = 0, @QUANTIDADE INT = 0
SET @INICIO = '20110501'
SET @FIM = '20010513'
SET @DATA = @INICIO
PRINT @DATA
WHILE @CONTROLE = 0
BEGIN
IF (DATEPART(WEEKDAY, @DATA) = 7)
BEGIN
SET @QUANTIDADE += 1
END
SET @DATA = DATEADD(DAY,1,@DATA)
IF @DATA > @FIM
SET @CONTROLE = 1
END
SELECT @QUANTIDADE
desde ja agradeco a ajuda.
abraco!!!
Alex Lekao
Curtidas 0
Respostas
Emerson Nascimento
13/05/2011
DECLARE @INICIO DATETIME, @FIM DATETIME, @DATA DATETIME, @QUANTIDADE INT
SET @INICIO = '2001-05-13'
SET @FIM = '2011-05-01' -- DEZ ANOS DE INTERVALO
SET @DATA = @INICIO
SET @QUANTIDADE = 0
WHILE @DATA <= @FIM
BEGIN
IF (DATEPART(WEEKDAY, @DATA) = 7)
SET @QUANTIDADE = @QUANTIDADE + 1
SET @DATA = DATEADD(DAY,1,@DATA)
END
PRINT 'ENTRE '+CONVERT(VARCHAR(10), @DATA, 103)+' E '+CONVERT(VARCHAR(10), @FIM, 103)+' HA '+CAST(@QUANTIDADE AS VARCHAR(10))+' SÁBADOS'
SET @INICIO = '2001-05-13'
SET @FIM = '2011-05-01' -- DEZ ANOS DE INTERVALO
SET @DATA = @INICIO
SET @QUANTIDADE = 0
WHILE @DATA <= @FIM
BEGIN
IF (DATEPART(WEEKDAY, @DATA) = 7)
SET @QUANTIDADE = @QUANTIDADE + 1
SET @DATA = DATEADD(DAY,1,@DATA)
END
PRINT 'ENTRE '+CONVERT(VARCHAR(10), @DATA, 103)+' E '+CONVERT(VARCHAR(10), @FIM, 103)+' HA '+CAST(@QUANTIDADE AS VARCHAR(10))+' SÁBADOS'
GOSTEI 0
Riqueciano Soares
13/05/2011
select datepart(Dw,@data) e ele terna 1 para domingo, 2 para segunda....7 para sabado, cria um laço e um contadorsinho para dos sabados
espero ter ajudado
GOSTEI 0
Riqueciano Soares
13/05/2011
select datepart(Dw,@data) e ele retorna 1 para domingo, 2 para segunda....7 para sabado
Cria um laço e um contadorsinho para os sabados
espero ter ajudado
GOSTEI 0
Alex Lekao
13/05/2011
VALEU GALERA!!!
Muito obrigado pela ajuda!!
Funcionou 100%.
Obrigadao!!!
GOSTEI 0