[firebase-br] Dias Uteis ...

Firebird rubens.rodrigues em abrevo.com.br
Ter Ago 29 15:08:50 -03 2006


Entao vamos lá colegas, e me ajude na formação da query abaixo :

Exemplo :

Gostaria de fazer uma consulta ao banco de dados na tabela RDB$DATABASE 
no qual ele me rertonasse todos os dias uteis do mes em questao (no caso 
agosto - 8) e que nao tivesse dentro da tabela de feriados :


Eu me imaginei assim :

SELECT EXTRACT(DAYOFWEEK FROM ?????) AS "DIAUTIL" FROM RDB$DATABASE 
WHERE "DIAUTIL" NOT IN (SELECT DIA FROM TABELAFERIADO);

Conto com a ajuda de vocês...


Rubens





Kléber Caneva escreveu:
> No caso da Pascoa não... Ele sempre cai de Domingo.
> 
> Outros feriados que sempre caem de domingo são Dias dos Pais e Dia da Mães.
> 
> Carnaval, tb sempre cai numa Terça-feira  (Esse já é um outro problema.. 
> pois alguns lugares não é considerado feriado, e outros o mes inteiro é 
> considerado...rs)
> 
> Para outros é necessário uma tabela.
> 
> []´s
> 
> Kléber Caneva
> 
> 
> ----- Original Message ----- 
> From: "Renan de Oliveira" <renan em safetech.inf.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Tuesday, August 29, 2006 2:09 PM
> Subject: Re: [firebase-br] Dias Uteis ...
> 
> 
> ta certo, e quando a páscoa cair em uma quinta-feira, podemos fazer
> feriadao, ou nao. quando for feriadão, nao trabalharemos na sexta, quem
> defini se sera feriadao ou nao, eh o sindicato da categoria, porem se for,
> como folgaremos a sexta em questao, em algum outro feriado do ano, que fica
> em algum outro mes, trabalharemos um dia que será feriado nacional ou
> regional, novamente de acordo com o q o sindicato definir. portanto, nesse
> exemplo, o mes de abril terá um dia util a menos e algum outro mes do ano um
> dia util a mais do que o previsto, portanto a unica forma eh um cadastros de
> feriados;
> 
> 
> Renan de Oliveira
> Safetech Informática
> (51) 3529-3870
> ----- Original Message ----- 
> From: "Otto Fuchshuber" <ottofuch em terra.com.br>
> To: <renan em safetech.inf.br>; "FireBase" <lista-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org>
> Sent: Tuesday, August 29, 2006 1:37 PM
> Subject: Re: [firebase-br] Dias Uteis ...
> 
> 
>> Para calcular o dia da pásca em cada ano existe a seguinte rotina:
>>
>> Fonte: Revista Scientific American, Marco 2001, pagina 73
>> Escolha um ano do calendario Gregoriano e chame-o de x. Para determinar
>> a data da Pascoa execute os seguintes 10 calculos:
>>
>>   1. Dividir x por 19 para obter um quociente (que vamos ignorar) e um
> resto
>>      A. Esta e' a posicao do ano no ciclo lunar de 19 anos (A+1 e' o
> numero
>>      ouro do ano)
>>   2. Dividir x por 100 para obter um quociente B e um resto C
>>   3. Dividr B por 4 para obter um quociente D e um resto E
>>   4. Dividr 8B + 13 por 25 para obter um quociente G e um resto que vamos
>> ignorar
>>   5. Dividir 19A + B - D - G + 15 por 30 para obter um quociente (que
> vamos
>>      ignorar) e um resto H (o Epacs do ano e' 23-H quando H for menor do
> que
>>      24 e 53-H de outro modo)
>>   6. Dividir A + 11H por 319 para obter um quociente M e um resto (que
> vamos
>>      ignorar)
>>   7. Dividir C por 4 para obter um quociente J e um resto K
>>   8. Dividir 2E + 2J - K - H + M + 32 por 7 para obter um quociente (que
>> vamos
>>      ignorar) e um resto L
>>   9. Dividir H - M + L + 90 por 25 para obter um quociente N e um resto
> (que
>>      vamos ignorar)
>>  10. Dividir H - M + L + N + 19 por 32 para obter um quociente (que vamos
>>      ignorar e um resto P
>>
>>  O domingo de Pascoa e' o P-esimo dia do N-esimo mes (N pode ser ou 3 para
>>  marco, ou 4 para abril). A letra dominical pode ser achada em
> dividindo-se
>>  2E + 2J - K por 7 e tomando-se o resto (um resto igual a 0 e' a letra A,
>>  1 e' equivalente a B, e assim por diante).
>>
>> Experimentando este metodo para o ano x = 2001 obtemos (1)A=6; (2)B=20,C=1
>> (3)D=5,E=0;(4)G=6;(5)H=18;(6)M=7;(7)J=0,K=1;(8)L=6;(9)N=4;(10)P=15
>>
>> Em 2001 a páscoa caiu em 15/04/2001.
>> Em 2007 será no dia 08/04/2001
>> Em 2010 será no dia 04/04/2010
>> No ano 34 DC caiu em 26/03/2006
>> Antes disto não havia páscoa.
>>
>> Segundo a Wikipedia,
>> http://pt.wikipedia.org/wiki/P%C3%A1scoa
>> "A Páscoa é celebrada no primeiro Domingo após a primeira Lua Cheia que
>> ocorre depois do equinócio da Primavera"
>> Lá existem outros algoritmos de cálculo, talvez menos exatos do que o
>> apresentado na Cientific American
>>
>> Lá vem a turma da cultura ... {:-)
>> Se quiser, lhe mando em PVT um pequeno programa em Visual Basic 6 que
> efetua
>> todos os cálculos.
>>
>> Otto
>>
>> ----- Original Message ----- 
>> From: "Renan de Oliveira" <renan em safetech.inf.br>
>> To: "FireBase" <lista em firebase.com.br>
>> Sent: Tuesday, August 29, 2006 10:51 AM
>> Subject: Re: [firebase-br] Dias Uteis ...
>>
>>
>> Sugiro que voce tenha uma tabela com os cadastros de feriados, do
> contrário
>> sera complicado, pois apesar de normalmente os feriados terem dias fixos,
> a
>> empresa pode optar por feriadões, férias, etc. depois tu monta um sql que
> te
>> tras os dias que nao forem sabado e domingo, e faz um join com essa tabela
>> pra verificar se mesmo nao sendo sabado nem domingo é feriado ou nao
>>
>>
>> Renan de Oliveira
>> Safetech Informática
>> (51) 3529-3870
>> ----- Original Message ----- 
>> From: "Firebird" <rubens.rodrigues em abrevo.com.br>
>> To: <lista em firebase.com.br>
>> Sent: Tuesday, August 29, 2006 10:33 AM
>> Subject: [firebase-br] Dias Uteis ...
>>
>>
>> Prezados Colegas,
>>
>> É possivel via SQL eu conseguir a qtde de dias úteis num determinado mês?
>>
>> Obrigado
>>
>> Rubens
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>> Esta mensagem foi verificada pelo E-mail Protegido Terra.
>> Scan engine: McAfee VirusScan / Atualizado em 28/08/2006 / Versão:
>> 4.4.00/4839
>> Proteja o seu e-mail Terra: http://mail.terra.com.br/
>>
>>
>>
>>
>>
>>
> 
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 
> E-mail classificado pelo Identificador de Spam Inteligente Terra.
> Para alterar a categoria classificada, visite
> http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1156871390.939942.7795.alcuta.terra.com.br,8707,Des15,Des15
> 
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 29/08/2006 / Versão: 
> 4.4.00/4840
> Proteja o seu e-mail Terra: http://mail.terra.com.br/
> 
> 
> 
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista