COUNT函数和CASE语句

COUNT() 函数只计算非 NULL 值的数量。当您使用 CASE 语句并在 ELSE 子句中返回 NULL 时,COUNT() 将不计算这些 NULL 值。但是,如果您在 ELSE 子句中返回 0 或任何其他非 NULL 值,COUNT() 将计算这些值。

在这个查询中,当 b.vend_id 为 NULL 时,CASE 语句的条件 WHEN b.vend_id 将被评估为 FALSE,因此将返回 ELSE 子句中的 NULL。但是,这种写法在某些数据库系统中可能不被允许,因为它试图对一个可能是 NULL 的值进行布尔评估。

为了确保查询的正确性和可移植性,建议您继续使用 IS NOT NULL 来明确检查 b.vend_id 是否不为 NULL

你可能感兴趣的:(SQL碎碎念,java,数据库,开发语言)