Teradata 逻辑和条件运算符
Teradata 支持以下逻辑和条件运算符。这些运算符用于执行比较和组合多个条件。
语法 |
含义 |
> |
大于 |
|
小于 |
>= |
大于或等于 |
<= |
小于或等于 |
= |
等于 |
BETWEEN |
如果值在范围内 |
IN |
如果
<表达式>
中的值
表达式> |
NOT IN |
如果值不在 <expression> |
IS NULL |
如果值为NULL |
IS NOT NULL |
如果值为 NOT NULL |
AND |
组合多个条件。仅当满足所有条件时才评估为真 |
OR |
组合多个条件。仅当满足任一条件时才评估为真。 |
NOT |
颠倒条件的含义 |
之间
BETWEEN 命令用于检查一个值是否在一个值的范围内。
示例
考虑以下员工表。
EmployeeNo |
名字 |
姓氏 |
JoinedDate |
部门编号 |
出生日期 |
101 |
迈克 |
詹姆斯 |
2005/3/27 |
1 |
1/5/1980 |
102 |
罗伯特 |
威廉姆斯 |
4/25/2007 |
2 |
3/5/1983 |
103 |
彼得 |
保罗 |
3/21/2007 |
2 |
4/1/1983 |
104 |
亚历克斯 |
斯图尔特 |
2/1/2008 |
2 |
11/6/1984 |
105 |
罗伯特 |
詹姆斯 |
1/4/2008 |
3 |
12/1/1984 |
以下示例提取员工编号在 101,102 到 103 之间的记录。
SELECT EmployeeNo, FirstName FROM
Employee
WHERE EmployeeNo BETWEEN 101 AND 103;
执行上述查询时,返回员工编号在 101 到 103 之间的员工记录。
*** Query completed. 3 rows found. 2 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName
-----------------------------------------
101 Mike
102 Robert
103 Peter
输入
IN 命令用于根据给定的值列表检查值。
示例
以下示例提取员工编号为 101、102 和 103 的记录。
SELECT EmployeeNo, FirstName FROM
Employee
WHERE EmployeeNo in (101,102,103);
以上查询返回以下记录。
*** Query completed. 3 rows found. 2 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName
-----------------------------------------
101 Mike
102 Robert
103 Peter
不在
NOT IN 命令反转 IN 命令的结果。它获取值与给定列表不匹配的记录。
示例
以下示例获取员工编号不在 101、102 和 103 中的记录。
SELECT * FROM
Employee
WHERE EmployeeNo not in (101,102,103);
以上查询返回以下记录。
*** Query completed. 2 rows found. 6 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName LastName
----------------------------------------------------------------------
104 Alex Stuart
105 Robert James