在 sql 数据库中,我需要一个脚本来选择所有没有空值的行,如下所示:
For all the rows in the database
if row has no null values
select it
列是动态的,我不知道它们的编号或名称
谢谢
在 sql 数据库中,我需要一个脚本来选择所有没有空值的行,如下所示:
For all the rows in the database
if row has no null values
select it
列是动态的,我不知道它们的编号或名称
谢谢
这与这个问题的相反Test if any fields are NULL。
Martin Smith修改为查找没有空值的行的答案如下所示。
;with xmlnamespaces('http://www.w3.org/2001/XMLSchema-instance' as ns)
select *
from YourTable as T
where
(
select T.*
for xml path('row'), elements xsinil, type
).exist('//*/@ns:nil') = 0
Aaron Bertrand修改后提供的答案是……
DECLARE @tb NVARCHAR(255) = N'YourTable';
DECLARE @sql NVARCHAR(MAX) = N'SELECT * FROM ' + @tb
+ ' WHERE 1 = 1';
SELECT @sql += N' AND ' + QUOTENAME(name) + ' IS NOT NULL'
FROM sys.columns
WHERE [object_id] = OBJECT_ID(@tb);
EXEC sp_executesql @sql;
方法: