sql-server – 测试是否有任何列为NULL
发布时间:2020-12-12 16:57:24 所属栏目:MsSql教程 来源:网络整理
导读:我试图找出一个简单的查询,我可以测试一个大表是否有一个条目列表,在任何列中至少有一个空白(NULL /空)值. 我需要类似的东西 SELECT * FROM table AS t WHERE ANY(t.* IS NULL) 我不想这样做 SELECT * FROM table AS t WHERE t.c1 = NULL OR t.c2 = NULL OR t
我试图找出一个简单的查询,我可以测试一个大表是否有一个条目列表,在任何列中至少有一个空白(NULL /空)值.
我需要类似的东西 SELECT * FROM table AS t WHERE ANY(t.* IS NULL) 我不想这样做 SELECT * FROM table AS t WHERE t.c1 = NULL OR t.c2 = NULL OR t.c3 = NULL 这将是一个巨大的查询. 解决方法使用less(read:zero)hand-wrangling扩展@ db2的答案:DECLARE @tb NVARCHAR(255) = N'dbo.[table]'; DECLARE @sql NVARCHAR(MAX) = N'SELECT * FROM ' + @tb + ' WHERE 1 = 0'; SELECT @sql += N' OR ' + QUOTENAME(name) + ' IS NULL' FROM sys.columns WHERE [object_id] = OBJECT_ID(@tb); EXEC sp_executesql @sql; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |