Calcular Qauntos Sábado tem em um periodo.

13/05/2011

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

Respostas

13/05/2011

Emerson

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'

Responder Citar

13/05/2011

Riqueciano





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
Responder Citar

13/05/2011

Riqueciano

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
Responder Citar

13/05/2011

Alex Lekao

VALEU GALERA!!!   Muito obrigado pela ajuda!!   Funcionou 100%.   Obrigadao!!!
Responder Citar