麻烦各位大佬帮我看一下,为什么会排空

这是我写的sql,然后字段chh_departid是存在null值的,为什么我加上

CHH_DEPARTID NOT IN ('312e2ed1-0480-496a-b1a1-8ca083f9f5e7','818e4c22-c936-430a-982f-fd18a0c9f8bd') 

这一句,它会将为null的自动过滤掉

image.png

image.png

猫头鹰的头 发布于 2022-4-27 09:21
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
yzm339714Lv6中级互助
发布于2022-4-27 09:46(编辑于 2022-4-27 09:47)

in not in  都会排除空值再看是否满足条件的,所以空值需要额外处理下,就像上面两位大佬的答案一样,要找加上或者为空,要把把空值临时改一下 。哦。如果你要查出来空值,改就复杂了,直接加上or  就行了

最佳回答
1
Z4u3z1Lv6专家互助
发布于2022-4-27 09:25

我猜是sql server

WHERE ISNULL(CHH_DEPARTID,'') NOT IN ()

最佳回答
1
CD20160914Lv8专家互助
发布于2022-4-27 09:26

mysql的写法参考:

ifnull(CHH_DEPARTID ,'空') not IN ('312e2ed1-0480-496a-b1a1-8ca083f9f5e7','818e4c22-c936-430a-982f-fd18a0c9f8bd') 

最佳回答
0
snrtuemcLv8专家互助
发布于2022-4-27 09:23

再加一句

CHH_DEPARTID NOT IN ('312e2ed1-0480-496a-b1a1-8ca083f9f5e7','818e4c22-c936-430a-982f-fd18a0c9f8bd')  or CHH_DEPARTID is null

  • 4关注人数
  • 388浏览人数
  • 最后回答于:2022-4-27 09:47
    请选择关闭问题的原因
    确定 取消
    返回顶部