ISNull在SQL Server 中的用法

时间:2022-12-08 15:45:12


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 条目。

USE pubs
GO
SELECT AVG(ISNULL(price, $10.00))
FROM titles
GO

下面是结果集:

-------------------------- 
14.24 

(1 row(s) affected)

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



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

SELECT * FROM dpt WHERE sht='002' UPDATE dpt SET acl=ISNULL(acl,-1) WHERE sht='002'

这句话是判断编号为“002”的部门,如果核算级别acl为空就把acl置为-1,不为空的话就不做修改。