我编写了一个视图查询,需要很长的SQL脚本和大量的连接。有些值会导致来自其中一个表的所有列中出现空值。
基本上,我的问题是有没有办法排除最终全部为null的结果?
在这种情况下,可能系统对象有帮助吗?
答案 0 :(得分:2)
有点破解,但你可以在最后的concat()
中使用WHERE
示例强>
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
答案 1 :(得分:0)
IS NOT可以过滤列中的NULL值
参考https://docs.microsoft.com/en-us/sql/t-sql/queries/is-null-transact-sql