首页 > 解决方案 > 未明确说明时选择不包括空值

问题描述

当我使用

Select Distinct Brand_ID
from db.ABC
WHERE
Brand_ID <> 800

我得到返回的输出:

+----------+
| Brand_ID |
+----------+
|      100 |
|      200 |
|      300 |
|      400 |
|      500 |
|      600 |
|      700 |
|      900 |
+----------+

但是,该列确实包含存在的 NULL 值。我需要更新我的选择语句以明确地说:

Select Distinct Brand_ID
from db.ABC
WHERE
Brand_ID <> 800 OR Brand_ID IS NULL

要获得正确的输出:

+----------+
| Brand_ID |
+----------+
| NULL     |
| 100      |
| 200      |
| 300      |
| 400      |
| 500      |
| 600      |
| 700      |
| 900      |
+----------+

为什么NULL在没有明确说明的情况下会删除该值?

标签: sqlsql-serversql-null

解决方案


SQLNULL表示

我不知道

所以NULL不是一个值。


推荐阅读