我有一个大约有 20 列的表。除了输入:
Where column1 is null OR column2 is null OR column3 is null etc...
是否有一种更快的方法来检查每一列并查看是否有任何值为空,如果是,则返回该记录?
最佳答案
没有。有多种方法可以更快地进行编码,但没有像您暗示的那样的捷径。取自an answer I gave on dba.stackexchange :
DECLARE @tb NVARCHAR(255), @sql NVARCHAR(MAX);
SET @tb = N'dbo.[table]';
SET @sql = N'SELECT * FROM ' + @tb + ' WHERE 1 = 0';
SELECT @sql = @sql + N' OR ' + QUOTENAME(name) + ' IS NULL'
FROM sys.columns
WHERE [object_id] = OBJECT_ID(@tb);
EXEC sp_executesql @sql;
关于sql - 有没有一种快速方法来检查任何列是否为 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9705369/