在 SQL 编辑器 中输入查询或 创建计算时,使用 Presto SQL 语法。要根据是否满足特定条件来返回值,您可能会发现这些常用表达式很有用。
案例
要评估条件列表并根据第一个匹配或为真条件返回值,请使用 CASE
表达式,例如启用 if/else 逻辑。CASE
有两种格式:
- 在其 简单的 形式中,
CASE
对特定表达式的列表进行求值并返回其值,例如:
CASE expression WHEN value THEN result [ WHEN ... ] [ ELSE result ] END
- 在其 搜索 的形式中,
CASE
对布尔值列表进行求值,并返回第一个TRUE
条件的值,例如:
CASE WHEN condition THEN result [ WHEN ... ] [ ELSE result ] END
例如,根据匹配表达式返回值("一 "或 "二")的简单形式:
SELECT expression, CASE expression WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'many' END
如果没有条件为真, CASE
将返 回 ELSE
子句的值(本例中为 "many"),如果没有 ELSE
子句,则返回NULL
。
注意: 要根据单一条件是否为真返回值,请使用 IF
语句。
COALESCE
要返回列表中的第一个非空值,请使用 COALESCE
表达式,即 COALESCE(value1, value2, value3)。
IF
要根据条件的真假返回值,可使用 IF
语句,即 IF(condition, true_value, false_value)。
注意: 如果条件为假,且未指定 false_value ,则 IF
语句会返回 NULL
。
IS NULL 或 IS NOT NULL
要测试一个值是否为空或 NULL
,请使用 IS NULL
或 IS NOT NULL
操作符:
- 要测试空值,请使用
IS NULL
。 - 要测试非空值,请使用
IS NOT NULL
。
例如,测试没有地址的客户数据:
SELECT Customer_Name、Contact_Name、Address
FROM Customers
WHERE Address IS NULL
土耳其里拉
要在表达式因数据损坏或无效而失败时返回 NULL
,请使用 TRY
表达式作为 TRY(表达式)。TRY
可处理这些错误:
- 除以零
- 无效
CAST
或函数参数 - 数值超出范围