[firebase-br] RES: Select que monta o ano na condição(erro em ano bissexto)

W O sistemas2000profesional em gmail.com
Seg Fev 3 16:36:29 -03 2014


Luciano, para que un año sea bisiesto se deben dar DOS CONDICIONES:

1. Que sea divisible por 4
2. Si termina en 00 que los dos primeros dígitos TAMBIÉN SEAN DIVISIBLES
POR 4. O, en otras palabras, si termina en 00 debe ser divisible por 400.

Por lo tanto, 1900, 2100 y 2300 no son bisiestos.

2000 sí es bisiesto.

http://es.wikipedia.org/wiki/A%C3%B1o_bisiesto

Saludos.

Walter.



2014-02-01 Lucianao - Pratic <luciano em praticsistemas.com.br>:

> Me desculpem mas não concordo com a solução abaixo pois o ano será bissexto
> se o resto da divisão por 4 resultar zero.
> Logo 1900, 2100, 2300 etc. são considerados bissextos.
> Me corrijam se estiver enganado.
>
> Luciano C Santos
>
> -----Mensagem original-----
> De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Marco Aurélio
> Enviada em: sexta-feira, 31 de janeiro de 2014 09:44
> Para: FireBase
> Assunto: Re: [firebase-br] Select que monta o ano na condição(erro em ano
> bissexto)
>
> Muito obrigado pela ajuda pessoal(gracias Walter).
>
> Postarei a solução.
>
> Abraço
>
>
> Em 31 de janeiro de 2014 00:38, W O
> <sistemas2000profesional em gmail.com>escreveu:
>
> > Un año es bisiesto si:
> >
> > a) es divisible por 4
> > b) si termina con 00, los dos primeros dígitos también deben ser
> > divisibles por 4
> >
> > 1900 no fue bisiesto (porque 19 no es divisible por 4)
> > 2000 sí fue bisiesto (porque 20 es divisible por 4)
> > 2011 no fue bisiesto (porque no es divisible por 4)
> > 2012 sí fue bisiesto (porque sí es divisible por 4)
> > 2013 no fue bisiesto (porque no es divisible por 4)
> > 2014 no es bisiesto (porque no es divisible por 4)
> > 2015 no será bisiesto (porque no es divisible por 4)
> > 2016 sí será bisiesto (porque es divisible por 4)
> > 2100 no será bisiesto (porque 21 no es divisible por 4)
> >
> > Saludos.
> >
> > Walter.
> >
> >
> >
> > 2014-01-30 Frederico Godoi <frederico.godoi em gmail.com>:
> >
> > > Marco, pra testar ano Bissexto teria que testar o resta da divisão
> > > do ano por 4.
> > > Agora para essa finalidade, acho que não é o caso, precisa trazer o
> > > dia
> > de
> > > volta para 28 para retornar certo, eu acho.
> > >
> > > Veja essa sugestão, vai precisar ajustar, claro
> > >
> > > SELECT C.CODCONTATO,
> > >        COALESCE(C.NOMEFANTASIA,C.RAZAOSOCIAL) AS NOME,
> > >        COALESCE(C.TELEFONE,C.TELEFONE2, C.TELEFONE3, C.CELULAR, 'SEM
> > > TELEFONE CADASTRADO') AS TELEFONE,
> > >        C.DTAFUNDACAO,
> > >        C.DTANASC
> > >   FROM CONTATOS C
> > >  WHERE C.DTANASC IS NOT NULL
> > >   AND  IIF(EXTRACT(DAY FROM C.DTANASC)||'-'||EXTRACT(MONTH FROM
> > C.DTANASC)
> > > <> '29-02',
> > >            CAST(
> > >                 EXTRACT(YEAR FROM CURRENT_DATE) || '-' ||
> > >                 EXTRACT(MONTH FROM C.DTANASC) || '-' ||
> > >                 EXTRACT(DAY FROM C.DTANASC) AS DATE
> > >                 ) BETWEEN  CURRENT_DATE AND CURRENT_DATE+5 ),
> > >            CAST(
> > >                 EXTRACT(YEAR FROM CURRENT_DATE) || '-' ||
> > >                 EXTRACT(MONTH FROM C.DTANASC) || '-' ||
> > >                 EXTRACT(DAY FROM C.DTANASC)-1 AS DATE
> > >                 ) BETWEEN  CURRENT_DATE AND CURRENT_DATE+5 )
> > >            )
> > >   AND C.JURIDICA_FISICA = 'F'
> > >   AND C.SITUACAO = 'A'
> > >
> > >
> > > Abs
> > >
> > > Frederico Godoi
> > >
> > > 2014-01-30 Marco Aurélio <marco.istccp em gmail.com>:
> > >
> > > > Salve pessoal,
> > > > o select é o seguinte:
> > > >
> > > > SELECT
> > > >   C.CODCONTATO,
> > > >   COALESCE(C.NOMEFANTASIA,C.RAZAOSOCIAL) AS NOME,
> > > >   COALESCE(C.TELEFONE,C.TELEFONE2, C.TELEFONE3, C.CELULAR, 'SEM
> > > > TELEFONE CADASTRADO') AS TELEFONE,
> > > >   C.DTAFUNDACAO,
> > > >   C.DTANASC
> > > >  FROM
> > > >   CONTATOS C WHERE
> > > >   C.DTANASC IS NOT NULL
> > > >
> > > >   AND   CAST(
> > > >             EXTRACT(YEAR FROM CURRENT_DATE) || '-' ||
> > > >             EXTRACT(MONTH FROM C.DTANASC) || '-' ||
> > > >             EXTRACT(DAY FROM C.DTANASC) AS DATE
> > > >         )
> > > >
> > > >   BETWEEN  CURRENT_DATE AND (CURRENT_DATE + CAST(' +
> > > > PARAMETRO(__DIAS_ANTECEDENCIA_AVISAR_ANIVESARIANTES,'0') + 'AS
> > > > INTEGER))
> > > >
> > > >   AND C.JURIDICA_FISICA = 'F'
> > > >   AND C.SITUACAO = 'A'
> > > >
> > > > Depois de muito tempo, e de muitos usuários cadastrados, apareceu
> > > > alguém com a data de aniversário 29/02, Como posso fazer para
> > > > tratar o ano bissexto nesta consulta?
> > > > (provavelmente vou ter de montar outra mesmo).
> > > >
> > > > Obrigado,
> > > > Marco
> > > > ______________________________________________
> > > > FireBase-BR (www.firebase.com.br) - Hospedado em
> > > > www.locador.com.br Para saber como gerenciar/excluir seu cadastro na
> lista, use:
> > > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > > >
> > >
> > >
> > >
> > > --
> > > Frederico Godoi
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
> saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista