Weekday select retornar o dia da semana ?

Firebird

17/06/2010

Pessoal estou usando firebird 2.0, e preciso retornar um select da semana em questão.

Por exemplo estamos na semana do dia 13/06 a 19/06, e neste caso preciso mostrar o select do período do dia 06/06/2010 a 12/06/2010, ou seja sempre uma semana anterior a semana que estamos.

Tentei assim, mão não esta funcionando

select count(ordemserv.idordem), ordemserv.block,           
ordemserv.kms, ordemserv.servico,                           
ordemserv.idordem sequencial,                               
ordemserv.nrordemserv controle,                             
ordemserv.emissao data_emisao,                              
ordemserv.horaemissao hora_chamada,                         
ordemserv.nomeclie cliente,                                 
ordemserv.solicitante nome_solicitante,                     
ordemserv.condpgto condicao_pagamento,                      
ordemserv.nomecondutor condutor,                            
ordemserv.centrocusto centro_custo,                         
sum(servicos.vrlservico) valor_servico,                     
servicos.tipo,                                              
ordemserv.horadespacho hora_despacho,                       
ordemserv.enddestino, ordemserv.bairrodestino               
 from ordemserv                                             
 inner join servicos on ordemserv.idordem = servicos.idordem
 where ordemserv.idordem = servicos.idordem                 
 and (servicos.tipo = '')
 and (servicos.tipo = 'CONCLUÍDO' or servicos.tipo =  'DUPLICATA' )
 --and ordemserv.emissao between iif(Extract(Weekday from ordemserv.emissao) >1,
current_date - (Extract(Weekday from ordemserv.emissao)-1) AND (current_date + 6)))  group by 2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,18            order by ordemserv.idordem, ordemserv.emissao,                       ordemserv.horaemissao  

Se eu tentar usar a parte comentada da erro de sintaxe, e não consigo resolver

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 22, column 63.
AND.                         


Adriano Dolce

Adriano Dolce

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

17/06/2010

tente com

 and ordemserv.emissao between
    (current_date - Extract(Weekday from current_date) - 7) and
    (current_date - Extract(Weekday from current_date) - 1)

GOSTEI 0
Adriano Dolce

Adriano Dolce

17/06/2010

Otimo amigo....Muito obrigado
GOSTEI 0
POSTAR