none
excluir finais de semana RRS feed

  • Pergunta

  • Prezados bom dia tenho essa SQl que me retorno as informaçoes que preciso, porem eu gostaria de no resultado somente os dias uteis.


    SELECT PFUNC.CHAPA,
    PFUNC.NOME,
    SUM(DATEDIFF(DAY,DTINICIO, DTFINAL)+1) AS DIAS
    FROM VATESTADO (NOLOCK), PFUNC(NOLOCK), PSECAO(NOLOCK),PFUNCAO(NOLOCK)
    WHERE DTINICIO >= (GETDATE ()-60)
    AND PFUNC.CODPESSOA=VATESTADO.CODPESSOA
    AND VATESTADO.DTFINAL IS NOT NULL
    AND DATEDIFF(DAY,DTINICIO, DTFINAL)+1>=15
    AND PFUNC.CODSITUACAO NOT IN('D','E','I')
    AND PSECAO.CODCOLIGADA=PFUNC.CODCOLIGADA
    AND PFUNC.CODSECAO=PSECAO.CODIGO
    AND PFUNCAO.CODCOLIGADA=PFUNC.CODCOLIGADA
    AND PFUNCAO.CODIGO=PFUNC.CODFUNCAO
    GROUP BY PFUNC.CHAPA, PFUNC.NOME
    quarta-feira, 3 de agosto de 2011 12:47

Respostas

Todas as Respostas

  • Ronnie,

     

    Não sei o campo exato que voce quer itlizar isso, todo caso, existe a função datepart com weekday, veja:

     

    select datepart(weekday,getdate())

     

    No caso hoje ele retorna 4, que é o quarto dia (semana começa no domingo)..... no caso então seria apenas colocar no seu where onde o retorno da função é diferente de 7 e 1 por exemplo...


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    quarta-feira, 3 de agosto de 2011 12:56
    Moderador
  • Deleted
    • Marcado como Resposta Ronnie Von quinta-feira, 4 de agosto de 2011 13:33
    quarta-feira, 3 de agosto de 2011 13:09
  • Bom Dia,

    Essa consulta não pode ser resolvida. Dia útil não é só final de semana, mas também os feriados. É possível montar uma consulta para retirar os fins de semana, mas a menos que haja uma tabela com os feriados não é possível calcular os dias úteis.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    quarta-feira, 3 de agosto de 2011 13:16
  • Ia comentar isso que o Gustavo disse.

    A parte do calendário, normalmente, é tratado como uma tabela que a aplicação faz consistências para um determinado calculo.

    No seu caso vc pode usar uma tabela que tenha essas informações.

    Referente a uma consulta para desconsiderar os finais de semana, tente isso:

    AND DATEPART(WEEKDAY,[DATA DESEJADA]) IN (2,3,4,5,6)

    ou

    AND DATEPART(WEEKDAY,[DATA DESEJADA]) NOT IN (1,7)

     

    Att.,


    Marco Antônio Pinheiro / MCTS - MCC http://marcoantoniopinheiro.blogspot.com
    quarta-feira, 3 de agosto de 2011 13:24
  • Deleted
    • Marcado como Resposta Ronnie Von quarta-feira, 3 de agosto de 2011 15:12
    quarta-feira, 3 de agosto de 2011 13:30
  • Obrigado a Todos pelas Dicas..

    me ajudaram muito,..

    quinta-feira, 4 de agosto de 2011 13:33