isnull函数vs IS NULL

时间:2017-06-30 10:16:19

标签: null isnull

作为更广泛的sql脚本中的case语句的一部分,我有以下内容:

当KWB.ASYCONDTYPE('CIVIL','CIVIL2')和KWB.CIVCONDGRADE为空时那么'没有CIVIL CG'

这会将字段设置为“NO CIVIL CG”以获得1405条记录

当KWB.ASYCONDTYPE('CIVIL','CIVIL2')和ISNULL(KWB.CIVCONDGRADE,'')=''那么'没有CIVIL'时

这将设置1410条记录的字段,这似乎是正确的答案, 因为在第一个实例中未设置的5个字段具有ASYCONDTYPE ='CIVIL'且CIVCONDGRADE确实为NULL

稍微担心,因为我希望它们产生相同的结果,如果它不是用于excel过滤,它可能会被忽视。

任何人都可以提供解释,或者至少我可以在数据集或数据库中查看,以便让我了解正在发生的事情吗?

1 个答案:

答案 0 :(得分:0)

那应该是因为你有1405条记录,其中" KWB.CIVCONDGRADE"实际上是NULL和5条记录" KWB.CIVCONDGRADE"不是NULL,而只是一个空字段。

尝试检查此查询是否会产生5条记录:

github.com/miekg/dns