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