网站地图
hnsjyk999.com
三九百科 包罗万象
IsNull 发布于:

IsNull,计算机语言函数,意思是返回 Boolean 值,指明表达式是否不包含任何有效数据 (Null)。

返回 Boolean 值,指明表达式是否不包含任何有效数据 (Null)。

IsNull(expression)

expression 参数可以是任意表达式。

如果 expressionNull,则 IsNull 返回 True,即表达式不包含有效数据,否则 IsNull 返回 False。如果 expression 由多个变量组成,则表达式的任何组成变量中的 Null 都会使整个表达式返回 True

Null 值指出变量不包含有效数据。NullEmpty 不同,后者指出变量未经初始化。Null 与零长度字符串 ("") 也不同,零长度字符串往往指的是空串。

使用 IsNull 函数可以判断表达式是否包含 Null 值。在某些情况下想使表达式取值为 True,例如 IfVar=Null 和 IfVar<>Null,但它们通常总是为 False。这是因为任何包含 Null 的表达式本身就为 Null,所以表达式的结果为 False

使用指定的替换值替换 NULL。

IS NULL经常用于组成一个逻辑表达式出现在单个T-SQL语句的WHERE子句中,有些人在写存储过程时遇到控制流语句却不敢用了,而改用ISNULL函数

ISNULL ( check_expression , replacement_value )

check_expression

将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。

replacement_value

为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。

返回类型

返回与 check_expression 相同的类型。

注释

如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。

示例

A. 将 ISNULL 与 AVG 一起使用

下面的示例查找所有书的平均价格,用值 .00 替换 titles 表的 price 列中的所有 NULL 条目。

USE pubs

GO

SELECT AVG(ISNULL(price, .00))

FROM titles

GO

下面是结果集:

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

14.24

(1 row(s) affected)

B. 使用 ISNULL

下面的示例为 titles 表中的所有书选择书名、类型及价格。如果一个书名的价格是 NULL,那么在结果集中显示的价格为 0.00。

USE pubs

GO

SELECT SUBSTRING(title, 1, 15) AS Title, type AS Type,

ISNULL(price, 0.00) AS Price

FROM titles

GO

下面是结果集:

Title Type Price

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

The Busy Execut business 19.99

Cooking with Co business 11.95

You Can Combat business 2.99

Straight Talk A business 19.99

Silicon Valley mod_cook 19.99

The Gourmet Mic mod_cook 2.99

The Psychology UNDECIDED

ISNULL主要用在对返回记录的格式化填充,或者在做除法时避免因为出现 除0 而出现的错误,例如

……

case when isnull(SalesBudget.amount,0) = 0 then 0 else x.本期_累计签约金额 / isnull(SalesBudget.amount,0) end AS '金额销售率' /*为了避免 除0的错误 */

……

sql语句:

use test1

insert into a(name,score)

select name,isnull(score,100) from b

解释:从表b取数据然后插到表a中,若表b中字段score为null,则,默认插到表a中的数值是100


相关文章推荐:
表达式 | 表达式 | 表达式 | 表达式 | 表达式 | 表达式 | Empty | 表达式 | 表达式 | 结果集 |