[firebase-br] SQL (complexa)

Nazareno Neto nazareno.nobrega em gmail.com
Qua Maio 12 09:52:09 -03 2010


Amigão tenta fazer assim:

select * from teste
where EXTRACT( month from *data_sel*) between *mes_inicio* and *mes_final*
and EXTRACT( year from *data_sel*) = *ano_inicio*

ou ainda assim:

select * from teste
where EXTRACT( month from *data_sel*) between EXTRACT( month from
*data_inicio*) and EXTRACT( month from *data_fim*)
and EXTRACT( year from *data_sel*) = EXTRACT( year from *data_fim*)

acho q a primeira se adequaria ao seu problema.

Em 11 de maio de 2010 18:55, Hélio Oliveira <hpensador em gmail.com> escreveu:

> Boa noite Sérgio!
>
> Meu amigo o campo data_inicial e data_final são do tipo date porque os
> mesmo armazenam datas do tipo dd/mm/aaaa e não somente mm/aaaa, a questão de
> apenas passar como paramentros para consulta o mês e o ano é que estarei
> processando os pagamentos daquele mes/ano especifico.
>
> Desculpe se não fui claro na msg inicial. Acontece que necessito obter um
> valor quue encontra-se dentro de um conjunto (digamos assim), pois veja...
> no exemplo inicial temos um registro em que a data_inicial é 02/01/2009 e a
> data_final é 30/06/2009, logo se quiser saber qual o valor do salário deste
> funcionário no mês 03/2009 o mesmo é 500,00 - deu para clarear aí.
>
> Obrigado pela força!
>
> Em 11/05/2010 17:52, Sérgio Alexandre Gianezini escreveu:
>
>  Se somente usa mes/ano, porque o campo é Date? devia ser Char(6) =
>> 'YYYYMM'... mas enfim...
>> Eu tenho minha udf no firebird, que permite 'formatar' datas, nesse
>> caso...
>>
>> Select * From Tabela
>> Where FormatDateTime('yyyymm', :DataSelecao) BetWeen
>> FormatDateTime('yyyymm', DataInicio) And FormatDateTime('yyyymm', DataFim)
>> ou
>> Where :DataSelecao BetWeen FormatDateTime('yyyymm', DataInicio) And
>> FormatDateTime('yyyymm', DataFim) - se você já passa string em yyyymm
>>
>> PS: yyyymm = anomes =>  maio(05) de 2010 = 201005
>>
>
> --
> []'s,
>
> Hélio Oliveira
> Analista de Sistemas
> Delphi Developer
> http://hpensador.blogspot.com/
>
>
> ______________________________________________
> 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
>



-- 
Nazareno Neto
Desenvolvedor Delphi e Firebird

http://www.delphisistemas.com.br
nazarenoneto em delphisistemas.com.br
nazareno.nobrega em gmail.com



Mais detalhes sobre a lista de discussão lista