Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

thiago_php

procedure

Recommended Posts

pessoal estou criando uma procedure de select so que eu nao quero que ele excecute o que esta em vermelho quando o campo for null

como posso fazer ?

 

 

select * from cadastro c

 

where c.nome like '%ana%' or c.idade = '' or c.sexo = ''

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao tenho uma busca com alguns campos que ele pode selecionar, caso ele nao seleciona o nome nao quero que a procedure execute o que esta em vermelho

tentei fazer assim mas nao rolou deu erro de sintaxe

 

select * from cadastro c

 

where (c.nome like '%ana%' is null) or c.idade = '' or c.sexo = ''

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o campo for null não atenderá a condição do like.

 

Uma dica de quando usar and e or na mesma query é separar as condições com paranteses para maior clareza e certeza da busca da condição correta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao se for null eu nao quero que execute o like, pode dar um exemplo de como usar o paranteses nesse select que postei, um cara me falou sobre o is nul mas nao lembro como que é

Compartilhar este post


Link para o post
Compartilhar em outros sites

where c.nome like '%ana%

Se c.nome estiver com o conteúdo com valor nulo o resultado do like será sempre falso, não precisa deste teste que você quer executar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Thiago.....

 

Cara, você pode fazer por where dinamico.... de uma olhada aki:

http://forum.imasters.com.br/index.php?/topic/223859-utilizando-case-no-where-dinamico/

 

http://forum.imasters.com.br/index.php?/topic/220823-exemplo-de-where-dinamico/

 

 

Já é uma luz.... eu acho.. :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.