| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
olifile Aprendiz

Registrado: Sexta-Feira, 1 de Abril de 2005 Mensagens: 256 Localização: Portugal
|
Enviada: Dom Fev 18, 2007 6:27 pm Assunto: [Resolvido]Firebird + Cursor |
|
|
boas!!!
Gostaria de saber se é possivel criar um cursor dentro do Firebird 2.0 para eu poder contar todos os domingo entre duas datas.
SELECT DataInicio, current_Date From Alguer
e gostava de contar os domingos existentes entre a data de inicio até ao dia de hoje....
Espero que seja possivel.... _________________ Abraços,
Filipe Oliveira
<i><b>Status MSN</b></i>
Editado pela última vez por olifile em Qua Fev 21, 2007 12:54 pm, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
thomazs Moderador


Registrado: Segunda-Feira, 1 de Março de 2004 Mensagens: 2835
|
Enviada: Seg Fev 19, 2007 5:25 pm Assunto: |
|
|
Cursor tem... é usado em For Select .... No FB2, tem-se a criação de cursores, como no Postgree e outros. (Create Cursor... Open Cursor... Fetch...) _________________ Suporte e Consultoria em Desenvolvimento de Sistemas
Bacharel em Sistemas de Informação
Especialista em Bancos de Dados
Desenvolvimento: Clipper, Delphi, PHP, Python/Django |
|
| Voltar ao Topo |
|
 |
olifile Aprendiz

Registrado: Sexta-Feira, 1 de Abril de 2005 Mensagens: 256 Localização: Portugal
|
Enviada: Ter Fev 20, 2007 1:26 pm Assunto: |
|
|
é possivel arranjar-me um exemplo pois ainda nao consegui....tentei fazer do tipo de SqlServer mas nao deu resultado  _________________ Abraços,
Filipe Oliveira
<i><b>Status MSN</b></i> |
|
| Voltar ao Topo |
|
 |
thomazs Moderador


Registrado: Segunda-Feira, 1 de Março de 2004 Mensagens: 2835
|
Enviada: Qua Fev 21, 2007 12:48 pm Assunto: |
|
|
Bom, se o que você quer é verificar, dentro os dados constantes na tabela, a quantidade de domingos em datas, faria assim:
| Código: |
declare variable dt Date;
declare variable i integer;
i = 0;
for select data from tabela into :dt do
if extract(weekday from dt)=0 then
i = i + 1;
|
ao final do for, a variável i teria a quantidade de domingos constantes nas datas armazenadas na tabela. Agora, se a idéia é ter a qtd de domingos entre 2 datas, sem verificar tabelas do banco, mas sim usando uma procedure, ficaria assim:
| Código: |
set term ^ ;
create procedure sp_conta_domingos(dtI date, dtF date)
returns ( qtDomingos integer )
as
declare variable dt Date;
begin
qtDomingos = 0;
dt = dtI;
while ( dt <= dtF) do begin
if extract(weekday from dt) = 0 then
qtDomingos = qtDomingos + 1;
dt = dt + 1;
end
end
^
set term ; ^
|
_________________ Suporte e Consultoria em Desenvolvimento de Sistemas
Bacharel em Sistemas de Informação
Especialista em Bancos de Dados
Desenvolvimento: Clipper, Delphi, PHP, Python/Django |
|
| Voltar ao Topo |
|
 |
olifile Aprendiz

Registrado: Sexta-Feira, 1 de Abril de 2005 Mensagens: 256 Localização: Portugal
|
Enviada: Qua Fev 21, 2007 12:54 pm Assunto: |
|
|
Sim eu ontem a noite consegui resolver o meu problema mas nao me lembrei de avisar aqui no forum....Mas obrigado pela dica.
 _________________ Abraços,
Filipe Oliveira
<i><b>Status MSN</b></i> |
|
| Voltar ao Topo |
|
 |
|