Teradata - 邏輯和條件運算子



Teradata 支援以下邏輯和條件運算子。這些運算子用於執行比較和組合多個條件。

語法 含義
> 大於
< 小於
>= 大於或等於
<= 小於或等於
= 等於
BETWEEN 如果值在範圍內
IN 如果值在<表示式>中
NOT IN 如果值不在<表示式>中
IS NULL 如果值為 NULL
IS NOT NULL 如果值不為 NULL
AND 組合多個條件。只有當所有條件都滿足時才評估為真。
OR 組合多個條件。只要其中一個條件滿足就評估為真。
NOT 反轉條件的含義

BETWEEN

BETWEEN 命令用於檢查值是否在值的範圍內。

示例

考慮以下員工表。

員工編號 名字 姓氏 入職日期 部門編號 出生日期
101 Mike James 3/27/2005 1 1/5/1980
102 Robert Williams 4/25/2007 2 3/5/1983
103 Peter Paul 3/21/2007 2 4/1/1983
104 Alex Stuart 2/1/2008 2 11/6/1984
105 Robert James 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

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 
廣告
© . All rights reserved.