[firebase-br] SQL (complexa)

Hélio Oliveira hpensador em gmail.com
Ter Maio 11 18:55:35 -03 2010


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/





Mais detalhes sobre a lista de discussão lista