选择column为null的行

anj*_*jum 38 sql

如何编写只返回某列的值为空的行的SELECT语句?

Jon*_*eet 56

你的意思是:

SELECT COLUMN1, COLUMN2 FROM MY_TABLE WHERE COLUMN1 = 'Value' OR COLUMN1 IS NULL
Run Code Online (Sandbox Code Playgroud)


tda*_*ers 8

我不确定这是否回答了您的问题,但使用IS NULL构造,您可以测试任何给定的标量表达式是否为NULL:

SELECT * FROM customers WHERE first_name IS NULL
Run Code Online (Sandbox Code Playgroud)

在MS SQL Server上,ISNULL()函数返回第一个参数,如果它不是NULL,否则返回第二个参数.您可以有效地使用它来确保查询始终产生值而不是NULL,例如:

SELECT ISNULL(column1, 'No value found') FROM mytable WHERE column2 = 23
Run Code Online (Sandbox Code Playgroud)

其他DBMS具有类似的功能.

如果您想知道列是否可以为空(即,被定义为可为空),而不查询实际数据,则应查看information_schema.