Teradata: operadores lógicos y condicionales

Teradata admite los siguientes operadores lógicos y condicionales. Estos operadores se utilizan para realizar comparaciones y combinar varias condiciones.

Sintaxis Sentido
> Mas grande que
< Menos que
>= Mayor qué o igual a
<= Menos que o igual a
= Igual a
BETWEEN Si los valores están dentro del rango
IN Si valores en <expresión>
NOT IN Si los valores no están en <expresión>
IS NULL Si el valor es NULO
IS NOT NULL Si el valor NO es NULO
AND Combine múltiples condiciones. Se evalúa como verdadero solo si se cumplen todas las condiciones
OR Combine múltiples condiciones. Se evalúa como verdadero solo si se cumple alguna de las condiciones.
NOT Invierte el significado de la condición.

ENTRE

El comando BETWEEN se usa para verificar si un valor está dentro de un rango de valores.

Ejemplo

Considere la siguiente tabla de empleados.

Numero de empleado Primer nombre Apellido JoinedDate Departamento No Fecha de nacimiento
101 Miguel James 27/03/2005 1 5/1/1980
102 Robert Williams 25/4/2007 2 05/03/1983
103 Pedro Pablo 21/03/2007 2 1/4/1983
104 Alex Stuart 1/2/2008 2 6/11/1984
105 Robert James 1/4/2008 3 1/12/1984

El siguiente ejemplo obtiene registros con números de empleados en el rango entre 101,102 y 103.

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

Cuando se ejecuta la consulta anterior, devuelve los registros de empleados con el número de empleado entre 101 y 103.

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

EN

El comando IN se usa para comparar el valor con una lista de valores dada.

Ejemplo

El siguiente ejemplo obtiene registros con números de empleado en 101, 102 y 103.

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

La consulta anterior devuelve los siguientes registros.

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

NO EN

El comando NOT IN invierte el resultado del comando IN. Obtiene registros con valores que no coinciden con la lista dada.

Ejemplo

El siguiente ejemplo obtiene registros con números de empleado que no están en 101, 102 y 103.

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

La consulta anterior devuelve los siguientes registros.

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