SQL Server里的 ISNULL 与 NULLIF

Posted donchen-c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server里的 ISNULL 与 NULLIF相关的知识,希望对你有一定的参考价值。

ISNULL(check_expression, replacement_value)

check_expression 与 replacement_value 数据类型必须一致,如果 check_expression 为 NULL,则返回 replacement_value,如果check_expression 不为 NULL,则返回 check_expression

 

NULLIF(expression, expression)

如果两个 expression 相等,则返回 NULL,该 NULL 为第一个 expression 的数据类型,如果两个 expression 不相等,则返回第一个 expression 

 

NULLIF:需要两个参数,如果两个指定的表达式等价,则返回null 
例子:NULLIF(a,b) 
说明:如果a和b是相等的,那么返回NULL,如果不相等返回a 
select NULLIF(‘eqeqweqwe‘,‘1‘) 结果是eqeqweqwe 
select NULLIF(1,1) 结果是NULL 

a和b的类型要一致 

 

ISNULL:需要两个参数,目标是讲null替换为指定的值,若第一个参数不为null,则返回第一个参数
例子:ISNULL(a,b) 
说明:如果a和b同时为NULL,返回NULL,如果a为NULL,b不为NULL,返回b,如果a不为NULL,b为NULL返回a,如果a和b都不为NULL返回a 
select ISNULL(null,null)结果是null 
select ISNULL(null,33)结果是33 
select ISNULL(‘ddd‘,null)结果是ddd 

select ISNULL(44,33)结果是44

 

isnumeric:确认表达式是否为有效的数字形式

以上是关于SQL Server里的 ISNULL 与 NULLIF的主要内容,如果未能解决你的问题,请参考以下文章

Sql Server isnull() 用法

sqlserver isnull在mysql中怎么写

Sql server除以零问题[关闭]

C# 等效于 SQL Server 中的 IsNull() 函数

SQL语句里怎么将SUM里的空值赋值为0

sql server 如何改变计算结果的值 如null改变为0