显示任何空值吗?

显示任何空值吗?

是否有 SQL 语句可以显示任何记录中的任何空值?例如,如果我有一个表 Alpha,其中包含列 A、B 和 C,其中 C 在一条记录中为空,B 在另一条记录中为空,A 在另一条记录中为空。我是否可以只选择包含任何空值的行而不使用 OR 语句:即 WHERE A is Null OR B is Null OR C is Null。可能有类似的东西:

从 Alpha 中选择 * 其中 * 为空

我正在使用 SQL DB 和 Access DB

答案1

SQL Server 中不存在类似的东西。您必须使用 OR 语法列出每一列。

答案2

我认为理论上你可以编写一个存储过程,它可以动态构建一个查询,其中包含给定表中每个列的 OR 语句,然后返回结果,而无需事先知道列名。但是,你需要访问系统表才能做到这一点,以及执行存储过程的权限。

相关内容