- 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
广告