1
resposta

Dúvida de operador logico

Professor na query (AND (STATUS <>'CANCELADO' OR STATUS <> 'DELETADO')) usando o Operador logico de diferente com or, nesse caso ele irá me trazer um dos status por um ser diferente do outro?

Exemplo: A QUERY irá puxar o valor de DELETADO por ele ser diferente de Cancelado?

1 resposta

Olá, Luiz, tudo bem?

Desde já peço desculpas pela demora em obter retorno.

Sim, quando você usa o operador lógico "OR" com dois operandos que utilizam o operador de diferença ("<>"), a condição é satisfeita se pelo menos uma das condições for verdadeira. No exemplo que você mencionou, a condição "STATUS <>'CANCELADO' OR STATUS <> 'DELETADO'" retornará todas as linhas em que o campo "STATUS" for diferente de "CANCELADO" ou diferente de "DELETADO".

Isso significa que a consulta irá incluir todas as linhas que possuem um status diferente de "CANCELADO", incluindo aquelas que possuem o status "DELETADO". Portanto, o resultado da consulta pode incluir registros com o status "DELETADO", dependendo dos outros valores que existem na coluna "STATUS".

Se você deseja excluir registros com o status "DELETADO", você precisa usar o operador "AND" em vez do operador "OR", assim:

AND (STATUS <> 'CANCELADO' AND STATUS <> 'DELETADO')

Dessa forma, a condição só será satisfeita se ambos os operandos forem verdadeiros, ou seja, se o status não for "CANCELADO" e não for "DELETADO".

Espero ter ajudado.

Luis, caso surja quaisquer dúvidas, compartilhe no fórum.

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!