我编写了一个视图查询,需要一个很长的SQL脚本和大量的连接。有些值会导致来自其中一个表的所有列中的空值。
基本上,我的问题有什么方法可以排除最终全部为空的结果吗?
在这种情况下,系统对象可能会有所帮助吗?
有点
黑客,但你可以在最终WHERE
中使用concat()
例
Declare @YourTable table (ID int,colx varchar(50) ,coly varchar(50), colz int)
Insert Into @YourTable values
(1,'aa','bb',25),
(2,'aa',null,50),
(3,null,null,null)
Select *
From @YourTable
Where concat(colx,coly,colz)>''
**返回**
ID colx coly colz
1 aa bb 25
2 aa NULL 50
NOT 可以过滤列中的空值
请参阅 https://learn.microsoft.com/en-us/sql/t-sql/queries/is-null-transact-sql