gpt4 book ai didi

sql - 如何处理 Where 中的 NULL?

转载 作者:行者123 更新时间:2023-11-29 14:03:42 26 4
gpt4 key购买 nike

我在 postgresql 中有一个查询生成:

statusid,qty
17 25
30
17 45
18 20

我想删除所有 statuisdeleted (17) 的行,并保留 NULL 的行。我所做的是:

WHERE statuid not in (select statusid from statuses where statusname='deleted')

我期望的是:

statusid,qty
30
18 20

但我得到的是:

statusid,qty
18 20

是否有其他运算符(operator)可以得到这个期望的结果?

最佳答案

你不能将NULL与任何值进行比较(NOT IN比较它),你必须使用IS NULL:

WHERE statusid IS NULL OR  statusid not in (select statusid from statuses where statusname='deleted')

NULL 既不等于也不不等于任何其他值,即使是 NULL。它是未定义的。

关于sql - 如何处理 Where 中的 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32220354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com