NULLIF

您可以使用 NULLIF 有选择地将数据中的特定值替换为 NULL。在特定值表示缺失或无效数据的情况下,如果您想将其明确标记为 NULL 以便进行进一步分析或处理,此方法会很有帮助。

用法示例

折扣 字段中的 -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)

此公式可以解读为:“如果折扣 字段为 -1,则返回 null,否则返回折扣 。”

然后,您可以计算平均折扣,同时忽略无折扣的订单:

AVG(Discount With Nulls)