Ajuda com query maluca

Firebird

24/05/2004

Gente

Eu tive que traduzir uma query de um programador do Sql Server para o Firebird. Porem ainda nao estou conseguindo rodar a query ... esta e a query:

SELECT COMPROMISSO.IDCOMPROMISSO, COMPROMISSO.DATACOMPROMISSO,
COMPROMISSO.HORACOMPROMISSO, COMPROMISSO.DESCRICAOCOMPROMISSO,
PESSOACOMPR.NOME, COMPROMISSO.LOCALCOMPROMISSO, COMPROMISSO.OBSCOMP,
PASTA.CODIGO, TIPOACAO.NOMETIPOACAO, PESSOACLIENTE.NOME AS PESSOACLI,
PROCESSO.PROTOCOLOINICIAL, PESSOACONTR.NOME AS PESSOACONT,
COALESCE(CAST(PROCESSO.NUMJURISDICAO as VARCHAR(100)),““) +
COALESCE(PROCESSO.SUFIXO, ““) || “ “ || COALESCE(JURISDICAO.NOMEJURISDICAO, ““) || “ - “ ||
COALESCE(PESSOAJUIZO.NOME,““) AS EXPR1
FROM PASTA
LEFT JOIN PROCESSO ON PASTA.IDPASTA = PROCESSO.IDPASTAPROC
LEFT JOIN JURISDICAO ON JURISDICAO.IDJURISDICAO = PROCESSO.IDJURISDICAO
LEFT JOIN PESSOA PESSOACLIENTE ON PASTA.IDPESCLIPRINC = PESSOACLIENTE.IDPESSOA
LEFT JOIN PESSOA PESSOAJUIZO ON PESSOAJUIZO.IDPESSOA = PROCESSO.IDPESSOAJUIZO
LEFT JOIN PESSOA PESSOACONTR ON PESSOACONTR.IDPESSOA = PROCESSO.IDPESADVERSOPRINC
LEFT JOIN TIPOACAO ON TIPOACAO.IDTIPOACAO = PROCESSO.IDTIPOACAOPROC
RIGHT JOIN COMPROMISSO ON PASTA.IDPASTA = COMPROMISSO.IDPASTACOMPROMISSO
LEFT JOIN PESSOA PESSOACOMPR ON PESSOACOMPR.IDPESSOA = COMPROMISSO.IDPESSOACOMPROMISSO
WHERE ((UPPER(COMPROMISSO.TIPOCOMPROMISSO)<>UPPER(“PARTICULAR“)
AND ((PESSOACOMPR.IDESCRITORIO=3) OR (PESSOACOMPR.IDESCRITORIO IS NULL)) )
AND ((DATEPART (“WK“, COMPROMISSO.DATACOMPROMISSO)) = (DATEPART (“WK“, CAST(“2003-08-28“ as TIMESTAMP)))
AND (DATEPART (“YY“, COMPROMISSO.DATACOMPROMISSO)) = (DATEPART (“YY“, CAST(“2003-08-28“ as TIMESTAMP)))
OR (((DATEPART (“YY“, COMPROMISSO.DATACOMPROMISSO)) - (DATEPART (“YY“, CAST(“2003-08-28“ as TIMESTAMP)))
IN (-1, 0, 1) )
AND ((DATEPART (“WK“, COMPROMISSO.DATACOMPROMISSO)) - (DATEPART (“WK“, CAST(“2003-08-28“ as TIMESTAMP)))
IN (-52, 0, 52)) AND (ABS(CAST(CAST(COMPROMISSO.DATACOMPROMISSO as CHAR) as INT) - CAST(CAST(CAST(“2003-08-28“ as TIMESTAMP) as CHAR) as INT)) < 7)) )) OR ((UPPER(COMPROMISSO.TIPOCOMPROMISSO)=UPPER(“PARTICULAR“)) AND ((DATEPART (“WK“, COMPROMISSO.DATACOMPROMISSO)) = (DATEPART (“WK“, CAST(“2003-08-28“ as TIMESTAMP))) AND (DATEPART (“YY“, COMPROMISSO.DATACOMPROMISSO)) = (DATEPART (“YY“, CAST(“2003-08-28“ as TIMESTAMP))) OR (((DATEPART (“YY“, COMPROMISSO.DATACOMPROMISSO)) - (DATEPART (“YY“, CAST(“2003-08-28“ as TIMESTAMP))) IN (-1, 0, 1)) AND ((DATEPART (“WK“, COMPROMISSO.DATACOMPROMISSO)) - (DATEPART (“WK“, CAST(“2003-08-28“ as TIMESTAMP))) IN (-52, 0, 52)) AND (ABS(CAST(CAST(COMPROMISSO.DATACOMPROMISSO as CHAR) as INT) - CAST(CAST(CAST(“2003-08-28“ as TIMESTAMP) as CHAR) as INT)) < 7)) ) AND (COMPROMISSO.IDPESSOACOMPROMISSO = 16) ) ORDER BY COMPROMISSO.DATACOMPROMISSO, COMPROMISSO.HORACOMPROMISSO

onde ABS e DATEPART sao udfs criadas por mim que sao identicas as funcoes de mesmo nome do sqlserver ...

Rafael


Colutti

Colutti

Curtidas 0

Respostas

Afarias

Afarias

24/05/2004

qual o erro (mensagem)?!


T+


GOSTEI 0
Colutti

Colutti

24/05/2004

Oi

a mensagem e :

expression evaluation not supported


Rafael


GOSTEI 0
POSTAR