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