SQL Server函数之空值处理

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文:SQL Server函数之空值处理coalesce( expression [ ,...n ] )返回其参数中第一个非空表达式。   Select coalesce(null,null,'1','2') //结果为 1 coalesce(expression1,.
原文: SQL Server函数之空值处理

coalesce( expression [ ,...n ] )返回其参数中第一个非空表达式。

 

Select coalesce(null,null,'1','2') //结果为 1

coalesce(expression1,...n) 与此 case函数等效:

 
CASE
WHEN (expression1 IS NOT NULL) THEN expression1
...
WHEN (expressionN IS NOT NULL) THEN expressionN
ELSE NULL
END
 

注意:
当第一个表达式为字符串且不能转化为整数时,若在后面的表达式中有整数,这样的语句是会报错的。
例如:

Select COALESCE('a',null,'1',2) //这是错误的

这相当于

 
select 
CASE
WHEN ('a' IS NOT NULL) THEN 'a'
WHEN (2 IS NOT NULL) THEN 2
ELSE NULL
END //会出现错误,因为系统无法将a转换为相应的整数
 

但是

 
select 
CASE
WHEN ('a' IS NOT NULL) THEN 'a'
WHEN (2 IS NOT NULL) THEN '2'
ELSE NULL
END //这是正确的
 

所以我们在使用coalesce函数时,应该相当小心。
isnull( check_expression , replacement_value ) 使用指定的替换值替换 NULL。
replacement_value 必须是可以隐式转换为 check_expresssion 类型的类型。
在表stu中

select isnull(ssex,'p') from stu //若ssex列中有NULL值,那么返回p

nullif( expression , expression ) 如果两个指定的表达式相等,则返回空值,否则 NULLIF 返回第一个 expression 的值。

select nullif(1,1) //结果为 NULL
select nullif(1,2) //结果为 1
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
7天前
|
SQL XML 关系型数据库
【less-5】基于SQLI的SQL盲注常用函数
【less-5】基于SQLI的SQL盲注常用函数
19 2
|
7天前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
15天前
|
SQL DataWorks NoSQL
DataWorks产品使用合集之如何将SQL Server中的数据转存到MongoDB
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
242 1
|
2天前
|
SQL Oracle 关系型数据库
SQL LAST() 函数
SQL LAST() 函数
11 5
|
3天前
|
SQL Oracle 关系型数据库
SQL FIRST() 函数
SQL FIRST() 函数
10 3
|
3天前
|
SQL Oracle 关系型数据库
SQL COUNT() 函数
SQL COUNT() 函数
9 3
|
3天前
|
SQL 数据库
SQL AVG() 函数
SQL AVG() 函数
10 2
|
4天前
|
SQL 关系型数据库 MySQL
SQL 函数
SQL 函数
28 3
|
5天前
|
SQL 存储 关系型数据库
SQL Date 函数
SQL Date 函数
26 3
|
5天前
|
SQL Oracle 关系型数据库
SQL NULL 函数
SQL NULL 函数
16 1