gpt4 book ai didi

sql - 如何查找哪些列没有任何数据(所有值均为 NULL)?

转载 作者:行者123 更新时间:2023-12-02 07:48:02 26 4
gpt4 key购买 nike

我的数据库中有几个表。我想找到哪些列(在哪些表中)没有任何值(列中全部为 NULL)。我在下面的例子中,结果应该是

TestTable1 --> Var2
TestTable2 --> Variable1

我不知道如何创建这种查询。非常感谢您的帮助!

--create first table
create table dbo.TestTable1 (
sur_id int identity(1,1) not null primary key,
var1 int null,
var2 int null
)
go

--insert some values
insert into dbo.TestTable1 (var1)
select 1 union all select 2 union all select 3

--create second table
create table dbo.TestTable2 (
sur_id int identity(1,1) not null primary key,
variable1 int null,
variable2 int null
)

--and insert some values
insert into dbo.TestTable2 (variable2)
select 1 union all select 2 union all select 3

最佳答案

对于单列,count(ColumnName) 返回 ColumName 不为 null 的行数:

select  count(TheColumn)
from YourTable

您可以生成所有列的查询。根据 Martin 的建议,您可以使用 is_nullable = 1 排除不能为 null 的列。例如:

select  'count(' + name + ') as ' + name + ', '
from sys.columns
where object_id = object_id('YourTable')
and is_nullable = 1

如果表数量较多,可以用类似的方式生成所有表的查询。所有表的列表位于 sys.tables 中。

关于sql - 如何查找哪些列没有任何数据(所有值均为 NULL)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5887988/

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