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

Marco Aurélio marco.istccp em gmail.com
Sex Jan 31 09:44:11 -03 2014


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
>



Mais detalhes sobre a lista de discussão lista