none
if na clausula WHERE na busca RRS feed

  • Pergunta

  • Pessoal, estou com uma duvida realmente técnica (e teóricamente simples).

    tenho uma procedure, que tem como variável um CNPJ:
    ...
    AND 
     RTRIM(LTRIM((isnull(
    (select TOP 1 Tabela03002
      FROM Tabela02 
    LEFT JOIN Tabela01 ON Tabela02.Tabela01ID=Tabela01.Tabela01ID
    LEFT JOIN Tabela04 ON Tabela01.Tabela04id=Tabela04.Tabela04ID LEFT JOIN Tabela03 ON Tabela01.Tabela01046=Tabela03.Tabela03ID
    where rtrim(ltrim(ISNULL(Tabela02.V0055ID,'')))=Tabela05.o0003id),null))))=@CNPJ

    Ou seja, tudo funciona certinho, caso tenha um CNPJ, ele traz todos referente ao CNPJ.
    Porém, se a variável da cnpj for nula, ele não traz nenhum registro (obviamente)

    Ou seja, se eu coloco CNPJ esta ok, se eu mando nulo e retiro o and, traz todos independente do CNPJ.

    A minha questão é, existe a possibilidade de caso o @CNPJ for nulo, ele não passar pelo and e então, não executar a condição dentro dessa procedure?
    • Editado Paulo.Sérgio sexta-feira, 2 de março de 2018 14:01 Normalizar
    sexta-feira, 2 de março de 2018 13:58

Respostas

Todas as Respostas