Teradata - Operadores lógicos e condicionais

O Teradata oferece suporte aos seguintes operadores lógicos e condicionais. Esses operadores são usados ​​para realizar comparação e combinar várias condições.

Sintaxe Significado
> Maior que
< Menor que
>= Melhor que ou igual a
<= Menos que ou igual a
= Igual a
BETWEEN Se os valores dentro do intervalo
IN Se os valores em <expressão>
NOT IN Se os valores não estiverem em <expressão>
IS NULL Se o valor for NULL
IS NOT NULL Se o valor for NOT NULL
AND Combine várias condições. Avalia como verdadeiro apenas se todas as condições forem atendidas
OR Combine várias condições. Avalia como verdadeiro apenas se uma das condições for atendida.
NOT Inverte o significado da condição

ENTRE

O comando BETWEEN é usado para verificar se um valor está dentro de um intervalo de valores.

Exemplo

Considere a seguinte tabela de funcionários.

EmployeeNo Primeiro nome Último nome Data de adesão Departamento Não Data de nascimento
101 Mike James 27/03/2005 1 05/01/1980
102 Robert Williams 25/04/2007 2 05/03/1983
103 Peter Paulo 21/03/2007 2 01/04/1983
104 Alex Stuart 01/02/2008 2 06/11/1984
105 Robert James 04/01/2008 3 01/12/1984

O exemplo a seguir busca registros com números de funcionários no intervalo entre 101,102 e 103.

SELECT EmployeeNo, FirstName FROM  
Employee 
WHERE EmployeeNo BETWEEN 101 AND 103;

Quando a consulta acima é executada, ela retorna os registros do funcionário com o número do funcionário entre 101 e 103.

*** Query completed. 3 rows found. 2 columns returned. 
*** Total elapsed time was 1 second. 
 EmployeeNo            FirstName 
-----------  ------------------------------ 
   101                   Mike 
   102                   Robert 
   103                   Peter

DENTRO

O comando IN é usado para verificar o valor em relação a uma determinada lista de valores.

Exemplo

O exemplo a seguir busca registros com números de funcionários em 101, 102 e 103.

SELECT EmployeeNo, FirstName FROM  
Employee 
WHERE EmployeeNo in (101,102,103);

A consulta acima retorna os seguintes registros.

*** Query completed. 3 rows found. 2 columns returned. 
*** Total elapsed time was 1 second.  
 EmployeeNo            FirstName 
-----------  ------------------------------ 
   101                   Mike 
   102                   Robert 
   103                   Peter

NÃO EM

O comando NOT IN inverte o resultado do comando IN. Ele busca registros com valores que não correspondem à lista fornecida.

Exemplo

O exemplo a seguir busca registros com números de funcionários que não estão em 101, 102 e 103.

SELECT * FROM  
Employee 
WHERE EmployeeNo not in (101,102,103);

A consulta acima retorna os seguintes registros.

*** Query completed. 2 rows found. 6 columns returned. 
*** Total elapsed time was 1 second. 
 EmployeeNo          FirstName                      LastName 
----------- ------------------------------ -----------------------------    
    104                Alex                          Stuart 
    105                Robert                        James