Usando o DECODE seria com a consulta abaixo, para caso o usuario digite A
retorne os projetos sem data de conclusao , caso digite c os que ja tem data
de conclusão?


SELECT
*

FROM
*CONS,
*OBR,
*TP

WHERE
AND CONS.ID(+) = OBR.CONS_ID
AND TP.ID = OBR.TIOB_ID
AND OBR.EMPR_CODIGO = 1
AND decode('&STATUS', 'A', obr.DATA_CONCLUIDO IS NULL,
                      'C', obr.DATA_CONCLUIDO IS NOT NULL)




Em 23/12/09, Evandro Giachetto <evandrogiache...@gmail.com> escreveu:
>
> Outra coisa.
> Para informação de valores em tempo de execução, utilize o : ao invés do &.
> O & é utilizado como hot key do software PL/SQL Developer. Onde, se ele
> encontrar & antes de uma palavra, ele entende aquela palavra como uma
> variável externa e te dá opção de preenchimento manual desse valor.
>
> Se utilizar algum outro software, como o SQLPLUS* , vc deve utilizar as
> BIND
> VARIABLES com o char : e não &
>
> Evandro Giachetto
> Oracle Certified Associate
> evan...@clickinterativa.com.br
>
>
> 2009/12/23 Evandro Giachetto <evandrogiache...@gmail.com>
>
> > Amigo.
> > Não há instrução IF em comandos SQL de Oracle.
> >
> > Talvez você queira utilizar algo como o DECODE
> > http://www.devx.com/tips/Tip/20063
> >
> > Att.
> >
> > Evandro Giachetto
> > Oracle Certified Associate
> > evan...@clickinterativa.com.br
> >
> >
> > 2009/12/23 Igor Alves <igor.al...@gmail.com>
> >
> >
> >>
> >> Tenho a consulta abaixo, e quero que o usuário digite um valor(está no
> IF
> >> dentro do where) caso o valor digitado seja nulo busca os dados que a
> >> data_conclusao seja nula , caso contrario busca os dados com a data de
> >> conclusão digitada, Onde está o erro no IF que fiz?
> >>
> >> SELECT
> >> *
> >>
> >> FROM
> >> ACOM,
> >> ATV,
> >> CONS,
> >> IMP,
> >> OBR,
> >> TP
> >>
> >> WHERE
> >> ACOM.OBRA_ID = OBR.ID
> >> AND ATV.TIOB_ID = OBR.TIOB_ID
> >> AND CONS.ID = OBR.CONS_ID
> >> AND IMP.OBRA_ID = OBR.ID
> >> AND TP.ID = OBR.TIOB_ID
> >> AND OBR.EMPR_CODIGO = 1
> >> AND IF (&STATUS) IS NULL THEN
> >> obr.DATA_CONCLUIDO is null
> >> ELSE
> >> OBR.DATA_CONCLUIDO = ''
> >> END IF;
> >>
> >> --
> >> Igor Alves
> >> Bacharel em Ciência da Computação
> >> Tel: 2202-5658 / 8812-8670
> >>
> >> [As partes desta mensagem que não continham texto foram removidas]
> >>
> >>
> >>
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
>
> --------------------------------------------------------------------------------------------------------------------------
> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> inteira responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
>
> --------------------------------------------------------------------------------------------------------------------------
> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure
> » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
> http://www.oraclebr.com.br/
> ------------------------------------------------------------------------------------------------------------------------
> Links do Yahoo! Grupos
>
>
>


-- 
Igor Alves
Bacharel em Ciência da Computação
Tel: 2202-5658 / 8812-8670


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

Reply via email to