📅  最后修改于: 2021-01-11 11:18:36             🧑  作者: Mango
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运算符用于根据给定的值列表检查值。
例
下面的示例使用1001和1002中的RollNo获取记录。
SELECT RollNo, FirstName FROM
Student
WHERE RollNo in (1001, 1002);
上面的查询返回以下记录。
RollNo | FirstName |
---|---|
1001 | Mike |
1002 | Robert |
NOT IN命令反转IN命令的结果。它获取值与给定列表不匹配的记录。
例
下面的示例获取具有员工编号的记录,而不是1001和1002 。
SELECT * FROM
Student
WHERE RollNo not in (1001, 1002);
上面的查询返回以下输出,例如:
RollNo | FirstName | LastName |
---|---|---|
1003 | Peter | Collin |
1004 | Alexa | Stuart |
1005 | Robert | Peterson |
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 |