首页 >> 偏方秘方

使用处理值计划

偏方秘方  2021年09月06日  浏览:4 次

大部分集合函数在进行计算时都去除NULL值,但COUNT函数是一个例外。一般情况下当对一个包含NULL值的列使用COUNT函数时,这个列中的NULL值将会被去除掉。但是如果COUNT函数使用一个星号,它就会计算所有的行,而不管其中是否包含NULL值。

以及新浪、腾讯微博及各大论坛 如果你想使用COUNT函数计算包含NULL值的列的所有行,那么需要使用ISNULL函数。ISNULL函数能将一个NULL值以一个合法的值代替。

事实上,在有NULL值的情况下使用集合函数时,ISNULL函数是非常有用的。但记住当你使用星号时,COUNT函数将计算所有行。下面是一段示例代码,说明了NULL值对AVG和COUNT函数的影响:

SET NOCOUNT ON

GO

CREATE TABLE xCount

(pkey1 INT IDENTITY NOT NULL

CONSTRAINT pk_xCount PRIMARY KEY,

Col1 int NULL)

GO

INSERT xCount (Col1) VALUES (10)

GO

INSERT xCount (Col1) VALUES (15)

GO

INSERT xCount (Col1) VALUES (20)

GO

INSERT xCount (Col1) VALUES (NULL)

GO

SELECTAVG(Col1) AvgWithoutIsNullFunctionOnCol1,

AVG(ISNULL(Col1,0)) AvgWithIsNullFunctionOnCol1,

COUNT(Col1) NoIsNullFunctionOnCol1 ,

COUNT(ISNULL(Col1,0)) UsingIsNullFunctionOnCol1,

Count(*) UsingAsterisk

FROM xCount

GO

DROP TABLE xCount

GO

-- OUTPUT:

-- AvgWOIsNullFnctnCol1 AvgWIsNullFnctnCol1 WOIsNullFnctnCol1 WIsNullFnctnCol1 UsingAsterisk

-- -------------------- ------------------- ----------------- ---------------------------

--15113 44

:李宁

欢迎评论或投稿

成都哪家医院治疗白癜风好
朗圣药业紧急避孕药的效果
百色哪家治疗白癜风医院好
友情链接