- Teradata 教程
- Teradata - 首頁
- Teradata 基礎
- Teradata - 簡介
- Teradata - 安裝
- Teradata - 架構
- Teradata - 關係型概念
- Teradata - 資料型別
- Teradata - 表
- Teradata - 資料操作
- Teradata - SELECT 語句
- 邏輯 & 條件運算子
- Teradata - 集合運算子
- Teradata - 字串操作
- Teradata - 日期/時間函式
- Teradata - 內建函式
- Teradata - 聚合函式
- Teradata - CASE & COALESCE
- Teradata - 主索引
- Teradata - 連線
- Teradata - 子查詢
- Teradata 高階
- Teradata - 表型別
- Teradata - 空間概念
- Teradata - 二級索引
- Teradata - 統計
- Teradata - 壓縮
- Teradata - EXPLAIN
- Teradata - 雜湊演算法
- Teradata - 連線索引
- Teradata - 檢視
- Teradata - 宏
- Teradata - 儲存過程
- Teradata - 連線策略
- Teradata - 分割槽主索引
- Teradata - OLAP 函式
- Teradata - 資料保護
- Teradata - 使用者管理
- Teradata - 效能調優
- Teradata - FastLoad
- Teradata - MultiLoad
- Teradata - FastExport
- Teradata - BTEQ
- Teradata 有用資源
- Teradata - 問答
- Teradata - 快速指南
- Teradata - 有用資源
- Teradata - 討論
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
廣告