[英]Does SQL Server 2014 support functions such as ISNOTNULL()?
您不知道如何在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
谢谢。
我认为您出了点问题:
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'
您是指IS NULL
和IS NOT NULL
吗?
如-
select * from t where x is null
select * from t where x is not null
我不明白您为什么要尝试以这种方式获取不为null的内容。 ISNULL()
函数有助于将NULL
值替换为默认值
我建议尝试这样的事情:
CASE WHEN column IS NOT NULL THEN 'Hey is not null' ELSE 'Sorry, is null!' END
希望这会有所帮助。
set @TEXT1 = (case when @table1 is null then null else @TEXT1 end)
决赛前
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.