and:逻辑与运算
速查结论
expr1 and expr2 是 Spark SQL 中用于对两个布尔表达式执行逻辑与(AND)运算的运算符。
语法
expr1 and expr2
参数说明
| 参数 | 说明 |
|---|---|
| expr1 | 布尔表达式。 |
| expr2 | 布尔表达式。 |
返回说明
- 两个操作数都为 true 时返回 true。
- 任一操作数为 false 时返回 false。
- 操作数不含 false 但任一为 NULL 时返回 NULL。
- 一个操作数为 NULL、另一个为 false 时返回 false。
示例
> SELECT true and true;
true
> SELECT true and false;
false
> SELECT true and NULL;
NULL
> SELECT false and NULL;
false
常见报错与避坑指南
- NULL 参与的运算:
true and NULL返回 NULL 而非 false,这在 WHERE 条件中可能导致预期外的过滤结果。如果需要明确处理 NULL,请使用coalesce(expr, false)包装。 - 非布尔类型:and 两侧必须是布尔表达式。传入整数或字符串等非布尔类型会报错。
Since: 1.0.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

💬加群交流
备注「数据仓库技术」加入社群,每日一道大厂SQL真题
