作为更广泛的sql脚本中case语句的一部分,我有以下内容:
当KWB.ASYCONDTYPE IN (' CIVIL ','CIVIL2')且KWB.CIVCONDGRADE为null时,则'NO CIVIL CG‘
这会将1405条记录的字段设置为'NO CIVIL CG‘
WHEN KWB.ASYCONDTYPE IN (' CIVIL ','CIVIL2') AND ISNULL(KWB.CIVCONDGRADE,'') = '‘THEN 'NO CIVIL CG’
这将为1410条记录设置字段,这似乎是正确的答案,因为在第一个实例中未设置的5个字段具有ASYCONDTYPE = 'CIVIL‘并且CIVCONDGRADE确实为空
有点令人担忧,因为我希望它们产生相同的结果,如果不是excel过滤,它可能会被忽略。
有没有人能提供一个解释,或者至少在我可以查看数据集或数据库的地方,使我能够了解发生了什么?
发布于 2017-06-30 18:25:56
这是因为您有1405条记录,其中"KWB.CIVCONDGRADE“实际上是NULL,而5条记录中"KWB.CIVCONDGRADE”不是NULL,而仅仅是一个空字段。
如果查询结果为5条记录,请尝试使用此查询进行检查:
WHEN KWB.ASYCONDTYPE IN ('CIVIL','CIVIL2') AND KWB.CIVCONDGRADE = '' THEN 'NO CIVIL CG'https://stackoverflow.com/questions/44844079
复制相似问题