gpt4 book ai didi

sql - SQL 服务器查询中的 NULL 值

转载 作者:行者123 更新时间:2023-12-01 07:07:21 25 4
gpt4 key购买 nike

我在表中有一个 Status 列,它有 3 个值 - 'N/A' 、 'Single' 、'Multiple'。有些行有 NULL状态列的值。

我需要提取 Status 不为空且不为“N/A”的所有行。基本上,我需要状态为“单个”或“多个”的所有行。

我一直在阅读有关 NULL 实际上等同于“UNKNOWN”的内容。

如果我说

SELECT *
FROM t_userstatus
WHERE status <> 'N/A'

我得到结果(仅包含“单个”或“多个”的所有行)。

我想知道的是,上述 WHERE子句总是排除具有 NULL 值的行?这是预期的行为吗?

即使我没有明确指定它,是什么导致它排除空行?

在我的查询中,我是否必须明确说出状态 IS NOT NULL ?

我对编程比较陌生,任何帮助表示赞赏。

最佳答案

这不是正常行为,因为 N/A ( SingleMultiple 也是)是一个与 NULL 无关的字符串.即使 NULL评估为未知并且可能不会返回,您 应该明确使用 IS NOT NULL .

SELECT [column_list] FROM t_userstatus
WHERE status IS NOT NULL AND status <> 'N/A'

我还建议您养成指定列列表的习惯。

关于sql - SQL 服务器查询中的 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14201940/

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