The*_*lla 13 sql t-sql sql-server sql-server-2005
我有一张大约20列的桌子.打字除外:
Where column1 is null OR column2 is null OR column3 is null etc...
Run Code Online (Sandbox Code Playgroud)
有没有更快捷的方法来检查每一列,看看是否有任何值为空,如果是,返回该记录?
没有.有一些方法可以更快地编码,但没有像你所暗示的快捷方式.取自我在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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11158 次 |
| 最近记录: |