gpt4 book ai didi

sql - 如何在 SQL Server 数据库架构中找到所有填充 100% 空值的列?

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

有没有一种 SQL 方法可以找出我的架构中的哪些列完全充满空值?我知道几个表中的某些字段不会被应用程序使用,并且将被删除,但我想看看是否有一种自动化的方法/脚本可以在整个数据库中找到这些字段,以找到代码审查的候选者/可能删除。

如果有必要的话,在 x86 上运行 SQL Server 2005。

提前致谢!

最佳答案

create table #SuspectColumns (
TABLE_SCHEMA sysname,
TABLE_NAME sysname,
COLUMN_NAME sysname
)

declare csrColumns cursor fast_forward for
select TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where IS_NULLABLE = 'YES'

declare @TABLE_SCHEMA sysname,
@TABLE_NAME sysname,
@COLUMN_NAME sysname,
@sql nvarchar(max)

open csrColumns

while (1=1) begin
fetch next
from csrColumns
into @TABLE_SCHEMA, @TABLE_NAME, @COLUMN_NAME

if @@FETCH_STATUS<>0 break

set @sql = N'if not exists(select 1 from ' + QUOTENAME(@TABLE_SCHEMA) + N'.' + QUOTENAME(@TABLE_NAME) + N' where ' + QUOTENAME(@COLUMN_NAME) + N'is not null)
insert into #SuspectColumns values (''' + @TABLE_SCHEMA + N''',''' + @TABLE_NAME + N''',''' + @COLUMN_NAME + N''')'

exec sp_executesql @sql
end /* while */

close csrColumns
deallocate csrColumns

select * from #SuspectColumns

drop table #SuspectColumns

关于sql - 如何在 SQL Server 数据库架构中找到所有填充 100% 空值的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3979866/

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