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]