📜  Teradata逻辑和条件运算符

📅  最后修改于: 2021-01-11 11:18:36             🧑  作者: Mango

Teradata逻辑和条件运算符

Teradata支持以下逻辑和条件运算符。这些运算符用于执行比较并组合多个条件。

Operator Meaning
= Equal to
<> Not Equal to
> Greater than
< Less than
> = Greater than or Equal to
< = Less than or Equal to
AND AND operator combines multiple conditions. Evaluates to true only if all the conditions are met.
OR OR operator combines multiple conditions. Evaluates to true if either of the condition is met.
NOT Reverse the meaning of the condition
BETWEEN If the values with range
IN If the values in
NOT IN If the values not in
IS NULL If the value is NULL

运算符之间

BETWEEN运算符用于检查一个值是否在值的范围内。

考虑下面的学生表。

RollNo FirstName LastName BirthDate
1001 Mike Richard 1/2/1996
1002 Robert Williams 3/5/1995
1003 Peter Collin 4/1/1994
1004 Alexa Stuart 11/6/1995
1005 Robert Peterson 12/1/1997

下面的示例使用RollNo在1001、1002和1003之间的范围获取记录。

SELECT RollNo, FirstName FROM  
Student 
WHERE RollNo BETWEEN 1001 AND 1003;

执行以上查询时,它返回RollNo在1001和1003之间的学生记录。

RollNo FirstName
1001 Mike
1002 Robert
1003 Peter

IN运算符

IN运算符用于根据给定的值列表检查值。

下面的示例使用10011002中的RollNo获取记录。

SELECT RollNo, FirstName FROM  
Student
WHERE RollNo in (1001, 1002);

上面的查询返回以下记录。

RollNo FirstName
1001 Mike
1002 Robert

不在运算符中

NOT IN命令反转IN命令的结果。它获取值与给定列表不匹配的记录。

下面的示例获取具有员工编号的记录,而不是10011002

SELECT * FROM  
Student
WHERE RollNo not in (1001, 1002);

上面的查询返回以下输出,例如:

RollNo FirstName LastName
1003 Peter Collin
1004 Alexa Stuart
1005 Robert Peterson

AND运算符

AND运算符用于连接不同的LOGICAL运算符。必须满足所有条件才能使特定的行合格。

下面的示例获取名字为Peter ,姓氏为Collin的学生记录。

SELECT * FROM  
Student
Where first_name= 'Peter'
AND last_name= 'Collin';

上面的查询返回以下输出,例如:

RollNo FirstName LastName BirthDate
1003 Peter Collin 4/1/1994

或运算符

OR运算符用于在不同逻辑运算符之间进行连接。要使行合格,只需要满足一个条件即可。

以下示例获取名为Robert或姓氏Peterson的学生

SELECT * FROM  
Student
Where first_name= 'Robert'
OR last_name= 'Peterson;

上面的查询返回以下输出,例如:

RollNo FirstName LastName BirthDate
1002 Robert Williams 3/5/1995
1005 Robert Peterson 12/1/1997