.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,
小结:这个函数最大亮点在于:给空值赋默认值,避免了给非空的属性出现空值的出现!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。