您可以使用 NULLIF 有选择地将数据中的特定值替换为 NULL。在特定值表示缺失或无效数据的情况下,如果您想将其明确标记为 NULL 以便进行进一步分析或处理,此方法会很有帮助。
用法示例
将折扣 字段中的 -1 替换为 NULL。
语法
NULLIF( input_expression, expression_to_match )
参数
input_expression
要评估的表达式。您可以使用任何有效表达式作为 input_expression。
expression_to_match
NULLIF 会将 expression_to_match 与 input_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)