sql server如何理解:isnull(列名,0) 和isnull(列名,0)<>0 的区别?

如题所述

1、isnull(参数1,参数2),判断参数1是否为NULL,如果是,返回参数2,否则返回参数1。

2、isnull(列名,0),isnull()函数是用来判断列名是否为null,如果为NUll,则返回0,否则,返回列名的值。

3、<>:是不等号,与!=一样  比如select 3 where 1<>2 查出来的结果是3,select 3 where 1<>1则查不出结果。

一、对于 isnull(列名,0),isnull 是一个函数,2个参数,如果第一个参数非空,那么返回第一个参数,否则返回第二个参数。

二、例如有个图书馆的系统,在学生毕业离校前,需要查询这个学生的借书数量:

SELECT

学生表.学号,

isnull( SUM( case when 借书表.还书标志 = 0 THEN 1 ELSE 0 END ) , 0) AS 未还书数量

FROM

学生表 LEFT JOIN 借书表 ON ( 学生表.学号 = 借书表.学号 )

GROUP BY

学生表.学号

温馨提示:答案为网友推荐,仅供参考
相似回答