WPedroti

O operador lógico AND tem prioridade (é avaliado antes) sobre o operador OR.

Faça um teste colocando parênteses: abrindo depois do AND (na linha 5) e
fechando no final da instrução (linha 6).

1) select H.STATUS "Status", H.CD_PROJETO "Cod.Proj.", H.DT_ABERTURA "Dta
Abertura", H.DT_FINAL "Dta. Final"
2) FROM SESHD H
3) WHERE H.STATUS <> 'X'
4) AND H.DT_ABERTURA > '01/01/2007'
5) AND ( H.DT_FINAL IS NULL
6) OR H.DT_FINAL >= (select (sysdate-120) from dual) )

[ ]

André


Em 21/05/08, Walquencir Pedroti <[EMAIL PROTECTED]> escreveu:
>
>   Boa tarde a todos.
> Srs. Estou necessitando de ajuda para algo básico e como só tenho a vocês
> peço a ajuda.
>
> Tenho o seguinte sql
>
> 1) select H.STATUS "Status", H.CD_PROJETO "Cod.Proj.", H.DT_ABERTURA "Dta
> Abertura", H.DT_FINAL "Dta. Final"
> 2) FROM SESHD H
> 3) WHERE H.STATUS <> 'X'
> 4) AND H.DT_ABERTURA > '01/01/2007'
> 5) AND H.DT_FINAL IS NULL
> 6) OR H.DT_FINAL >= (select (sysdate-120) from dual)
>
> O que se deseja é que moste todas as linhas com datas de abertura
> superiores a 01/01/2007 e data final nula ou superior a 120 dias.
> Da forma que esta não funciona, aninhei select e também não obtive o
> resultado.
> Retirando a linha 5 fica ok porém não mostra as linhas com valores nulos.
>
> Agradeço qualquer idéia
> Grato,
>
> WPedroti
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a