20220714 学习计划:判空、COALESCE
1. 判断某列的值是否为空
SQL Server中,使用 is null 来判断列值是否为空。
select * from student where address is null
-- 查找出地址为空的所有学生
注意:不能使用“=null”来判断空值。
2.判断某列的值是否为非空
SQL Server中,使用 is not null 来判断列值是否为非空。
select * from student where address is not null
-- 查找出地址不为空的所有学生
同样的,不能使用“<>null”来判断非空。
3.空值替换函数ISNULL
ISNULL可以使用指定的替换值替换 NULL。
如:
select isnull(score,0) from student
-- 将成绩为空的值用0替换
其实,isnull函数的功能也可以用case when来实现,只是isnull函数更加简洁。
用case when实现代码:
select
case when (score is null)
then 0
end
from student
-- 将成绩为空的值用0替换
4. 首个非空值选择,COALESCE函数
COALESCE函数返回参数中第一个非空值。
例如:
SELECT COALESCE(NULL, NULL, 'third_value', 'fourth_value')
-- 返回第三个值,因为第三个值是首个为非 Null 的值。
COALESCE函数也可以实现和ISNULL函数相同的功能。
如:
select COALESCE(score,0) from student
-- 如果score值为null,则返回0。(间接实现了“空值替换”)
ISNULL与Coalesce的区别
1)两个函数对于NULL、空字符串的判断都是一样的效果;
2)ISNULL最多只有两个参数;Coalesce可以多很多个参数,但是,必须有一个参数返回结果不为NULL;
3)Coalesce返回所有参数中第一个不是NULL的结果。
由于今天学习的内容较少,所以可以有时间对前几天学习的内容,进行复习。
已学内容回顾
20220703 模糊查询、substring
20220704 聚合函数
20220705 union、分组查询
20220706 多表关联查询
20220709 第一周学习内容练习
20220710 自连接、视图
20220711 学习计划:常用日期函数
20220712 学习计划:数据类型转化
20220713 学习计划:常用字符串函数
注:周末会进行一个综合测试,范围涵盖前面所有的(包括上周)已学内容,希望你能好好表现,加油!