使用 NULLIF
可选择性地将数据中的特定值替换为 NULL。如果某个特定值表示缺失或无效数据,并且您想将其明确标记为 NULL 以进行进一步分析或处理,这会很有用。
用法示例
将 Discount 字段中的 -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)
此公式的含义是:“如果 Discount 字段为 -1,则返回 null,否则返回 Discount”。
然后,您可以计算不考虑无折扣订单的平均折扣:
AVG(
Discount With Nulls
)