Teradata 逻辑和条件运算符
Teradata 支持以下逻辑和条件运算符。这些运算符用于执行比较和组合多个条件。
语法 | Meaning |
---|---|
> | 比...更棒 |
< | 少于 |
>= | 大于或等于 |
<= | 小于或等于 |
= | Equal to |
BETWEEN | 如果值在范围内 |
IN | 如果 <表达式> 中的值 |
NOT IN | 如果值不在 <表达式> 中 |
IS NULL | 如果值为 NULL |
不为空 | 如果值不为空 |
AND | 结合多个条件。仅当满足所有条件时才计算为真 |
OR | 结合多个条件。仅当满足任一条件时才计算为真。 |
NOT | 反转条件的含义 |
BETWEEN
BETWEEN 命令用于检查一个值是否在一个值范围内。
例子
考虑以下员工表。
职工号 | 名 | LastName | 加入日期 | 部门编号 | 出生日期 |
---|---|---|---|---|---|
101 | Mike | James | 2005 年 3 月 27 日 | 1 | 1/5/1980 |
102 | Robert | Williams | 2007 年 4 月 25 日 | 2 | 3/5/1983 |
103 | Peter | Paul | 2007 年 3 月 21 日 | 2 | 4/1/1983 |
104 | Alex | Stuart | 2/1/2008 | 2 | 11/6/1984 |
105 | Robert | James | 1/4/2008 | 3 | 1984 年 12 月 1 日 |
以下示例获取员工编号介于 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
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
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