.net基础--MSSQL函数isnull()简介

ISNULL()

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

语法

ISNULL( check_expression , replacement_value )

参数

check_expression

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

replacement_value

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

返回类型

返回与check_expression相同的类型。

注释

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

示例

A. 将 ISNULL 与 AVG 一起使用

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

USEpubs

GO

SELECTAVG(ISNULL(price, $10.00))

FROMtitles

GO

下面是结果集

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

14.24          

(1row(s) affected)

B. 使用 ISNULL

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

USEpubs

GO

SELECTSUBSTRING(title, 1, 15) AS Title, type AS Type,

  ISNULL(price, 0.00) AS Price

FROMtitles

GO

C.在Full Join情况下使用ISNULL

表A:

tid

uid

anum

表B:

tbid

uid

bnum1

bnum2

需要通过uid全连接两个表:

selecta.tid,a.uid,a.anum,b.bnum1,b.bnum2 from a full join b ona.uid=b.uid

全连接会有很多为空的情况,可以使用ISNull来解决,改为:

selectisnull(a.tid,b.tid),isnull(a.uid,b.uid),isnull(a.anum,0),isnull(b.bnum1,

 小结:这个函数最大亮点在于:给空值赋默认值,避免了给非空的属性出现空值的出现!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。