NULLIF

使用 NULLIF 可选择性地将数据中的特定值替换为 NULL。如果某个特定值表示缺失或无效数据,并且您想将其明确标记为 NULL 以进行进一步分析或处理,这会很有用。

用法示例

Discount 字段中的 -1 替换为 NULL。

NULLIF(Discount, -1)

语法

NULLIF( input_expression, expression_to_match )

参数

input_expression

要求值的表达式。您可以使用任何有效的表达式作为 input_expression

expression_to_match

NULLIF 会将 expression_to_matchinput_expression 进行比较。如果这两个值相等,NULLIF 会返回 null,否则会返回 input_expression。您可以使用任何有效的表达式作为 expression_to_match

示例

假设您想计算向客户提供的平均折扣。您的应用将“无折扣”表示为 -1。公式 AVG(Discount) 将统计 -1 并返回错误的结果。为避免出现这种情况,您可以将这些 -1 转换为 NULL。为此,请创建一个新字段,例如名为 Discount With Nulls 的新字段:

NULLIF(Discount, -1)

此公式的含义是:“如果 Discount 字段为 -1,则返回 null,否则返回 Discount”。

然后,您可以计算不考虑无折扣订单的平均折扣:

AVG(Discount With Nulls)