sqlserver中的ISNULL()⽤法详解
ISNULL()
⽤途:使⽤指定的替换值替换返回值为NULL
语法:ISNULL(check_expression,replacement_value)
参数:
check_expression,将被检查是否为NULL的表达式,可以为任意类型的。
replacement_value,在check_expression为NULL时返回的表达式。必须与check_expression相同类型。
返回类型:返回与check_expression相同的类型
注释:如果check_expression不为NULL,那么返回该表达式的值;否则返回replacement_value
⽰例:
1.将 ISNULL 与 AVG ⼀起使⽤
查所有书的平均价格,⽤值 $10.00 替换 titles 表的 price 列中的所有 NULL 条⽬。
USE pubs
GO
SELECT AVG(ISNULL(price, $10.00))
FROM titles
GO
下⾯是结果集:
--------------------------
14.24
2.使⽤ ISNULL
下⾯的⽰例为 titles 表中的所有书选择书名、类型及价格。如果⼀个书名的价格是 NULL,那么在结果集中显⽰的价格为 0.00。
USE pubs
GO
isnull的用法SELECT SUBSTRING(title, 1, 15) AS Title, type AS Type,
ISNULL(price, 0.00) AS Price
FROM titles
GO
3. 在Full Join情况下使⽤ISNULL
表A:
tid    uid    anum
表B:
tbid    uid    bnum1    bnum2
需要通过uid全连接两个表:
select a.tid,a.uid,a.anum,b.bnum1,b.bnum2 from a full join b on a.uid=b.uid
全连接会有很多为空的情况,可以使⽤ISNull来解决,改为:
select isnull(a.tid,b.tid),isnull(a.uid,b.uid),isnull(a.anum,0),isnull(b.bnum1,

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。