Teradata 逻辑和条件运算符

2018-01-11 09:53 更新

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

句法含义
>比...更棒
<少于
>=少于...
<=小于或等于
=等于
BETWEEN如果值在范围内
IN如果值在<expression>中
NOT IN
如果值不在<expression>中
IS NULL如果值为NULL
IS NOT NULL 如果值不为NULL
AND组合多个条件。 仅当满足所有条件时,才评估为true。
OR组合多个条件。 如果满足任一条件,则计算为true。
NOT反转条件的含义

BETWEEN

BETWEEN命令用于检查值是否在值的范围内。

例子

考虑下面的employee表。

员工编号名字入职日期部门生日
101MikeJames3/27/200511/5/1980
102RobertWilliams4/25/200723/5/1983
103PeterPaul3/21/200724/1/1983
104AlexStuart2/1/2008211/6/1984
105RobertJames1/4/2008312/1/1984

以下示例获取员工编号介于101,102和103之间范围内的记录。

SELECT EmployeeNo, FirstName FROM  
Employee 
WHERE EmployeeNo BETWEEN 101 AND 103;

当执行上述查询时,它返回雇员记录,员工编号在101和102之间。

*** 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 
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号