来自 首页 2019-09-24 12:30 的文章
当前位置: 澳门太阳娱乐手机登录 > 首页 > 正文

coalesce系统函数简要介绍,除零操作

转自:http://www.maomao365.com/?p=4390

利用nullif函数

一、coalesce函数简要介绍

nullif函数有多少个参数,定义如下:

coalesce 系统函数,比ISNULL更结实大,更平价的种类函数,
coalesce可以选取三个参数,再次回到最左边不为NULL的参数,当全体参数都为空时,则赶回NULL
coalesce是最优isnull写法施工方案
在此以前作者们运用isnull对两列或多列数据举办为空重回时候,须求每每利用isnull函数
—————————————————————————-
例:
declare @a varchar(10),@b varchar(10),@c varchar(10)
当@a为null时,大家查阅@b是还是不是为NULL,不为null,则赶回@b ,不然查看@c 不为NULL,则赶回@c ,不然重回NULL

NULLIF( expression , expression )

select isnull(@a,isnull(@b,isnull(@c,null)))
/*当需判定的参数越来越多时,大家的函数表明式就能够变的极度复杂*/

其职能就是:借使多个内定的说明式相等,就重临null值。

但大家采取coalesce函数,会使此 表明式变的雅观,简单明了
select coalesce(@a,@b,@c)
——————————————————————————–

看一演示:


select nullif(0,0)

二、coalesce 应用譬如

运维结果:null

 

大家精通,null与别的数举办别的运算,其结果都等于null,利用那点,大家能够将地方的sql改写为:

  declare @a varchar(10),@b varchar(10),@c varchar(10),@d int 

 select coalesce(@a,@b,@c)

 set @a ='g'
 select coalesce(@a,@b,@c)

 set @a =null 
 set @b ='g2'
 set @c ='g3'
 select coalesce(@a,@b,@c)

 set @a =null
 set @b =null
 set @c =null 
 set @d =100

 select coalesce(@a,@b,@c,@d)

declare @a int;

 

declare @b int;

set @a=10

set @b=0

select @a/nullif(@b,0)

其运作结果本来为null了。

再选用isnull函数,我们就能够达成当@b=0的时候,结果回到1的必要了。最后的sql改写如下:

declare @a int;

declare @b int;

set @a=10

set @b=0

select isnull(@a/nullif(@b,0),1)

OK,二种办法介绍完结,相对于方法一,小编更推荐大家使用方法二,因为方法二的代码更简省。

(即便有恋人对isnull函数不打听的话,这里能够解释一下。

isnull的概念如下:

isnull(参数1,参数2)

其成效正是,当参数1十三分null时,就回来参数2的值。)

本文由澳门太阳娱乐手机登录发布于首页,转载请注明出处:coalesce系统函数简要介绍,除零操作

关键词: