你不知道如何在MS SQL中将ISNULL()更改为ISNOTNULL()吗? 有点像IFNULL?
我需要一步到位。
Set @EMAILhtml = @CSS + @TEXT1 + isnull(@TEXT1,'') + isnull(@table1,'') + isnull(@text2,'') + isnull(@table2,'') + @TEXT3
但我需要像
这样的东西Set @EMAILhtml = @CSS + @TEXT1 + isNOTnull(@TEXT1,'') + isnull(@table1,'') + isnull(@text2,'') + isnull(@table2,'') + @TEXT3
感谢。
答案 0 :(得分:2)
我认为你出了点问题:
ISNULL()
用于在NULL
DECLARE @v1 VARCHAR(10)='test';
SELECT ISNULL(@v1,'default') --returns `test`;
SET @v1=NULL;
SELECT ISNULL(@v1,'default') --returns `default`;
使用NULL
检查IS NULL
。相反的是IS NOT NULL
DECLARE @v1 VARCHAR(100)=NULL;
SELECT CASE WHEN @v1 IS NULL THEN 'v1 is null' END
此上下文中的第三个选项是NULLIF()
,如果条件已满,则返回NULL
DECLARE @v1 VARCHAR(10)='test';
SELECT NULLIF(@v1,'test'); --returns NULL, because @v1='test'
最后但并非最不重要的是COALESCE()
。它将返回参数列表的第一个非空值:
DECLARE @v1 VARCHAR(10)=NULL;
DECLARE @v2 VARCHAR(10)=NULL;
DECLARE @v3 VARCHAR(10)='test';
SELECT COALESCE(@v1,@v2,@v3); --returns 'test'
答案 1 :(得分:1)
您指的是IS NULL
和IS NOT NULL
吗?
如在 -
select * from t where x is null
select * from t where x is not null
答案 2 :(得分:1)
我不明白你为什么要这样检索if not not null。 TaPassAccount
函数有助于将viewport
值替换为默认值
我建议尝试这样的事情:
ISNULL()
希望这可以提供帮助。
答案 3 :(得分:0)
set @TEXT1 = (case when @table1 is null then null else @TEXT1 end)
在最终设定之前