IsNull,计算机语言函数,意思是返回 Boolean 值,指明表达式是否不包含任何有效数据 (Null)。

ISNULL

使用指定的替换值替换 NULL。
IS NULL经常用于组成一个逻辑表达式出现在单个T-SQL语句的WHERE子句中,有些人在写存储过程时遇到控制流语句却不敢用了,而改用ISNULL函数
 

语法

ISNULL ( check_expression , replacement_value )
 

参数

check_expression
将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。
replacement_value
为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。
返回类型
返回与 check_expression 相同的类型。
注释
如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。
示例
A. 将 ISNULL 与 AVG 一起使用
下面的示例查找所有书的平均价格,用值 .00 替换 titles 表的 price 列中的所有 NULL 条目。
USE pubs
GO
SELECT AVG(ISNULL(price, .00))
FROM titles
GO
下面是结果集
--------------------------
14.24
(1 row(s) affected)
B. 使用 ISNULL
下面的示例为 titles 表中的所有书选择书名、类型及价格。如果一个书名的价格是 NULL,那么在结果集中显示的价格为 0.00。
USE pubs
GO
SELECT SUBSTRING(title, 1, 15) AS Title, type AS Type,
ISNULL(price, 0.00) AS Price
FROM titles
GO
下面是结果集:
Title Type Price
--------------- ------------ --------------------------
The Busy Execut business 19.99
Cooking with Co business 11.95
You Can Combat business 2.99
Straight Talk A business 19.99
Silicon Valley mod_cook 19.99
The Gourmet Mic mod_cook 2.99
The Psychology UNDECIDED
ISNULL主要用在对返回记录的格式化填充,或者在做除法时避免因为出现 除0 而出现的错误,例如
……
case when isnull(SalesBudget.amount,0) = 0 then 0 else x.本期_累计签约金额 / isnull(SalesBudget.amount,0) end AS '金额销售率' /*为了避免 除0的错误 */
……
 

参考示例

sql语句:
use test1
insert into a(name,score)
select name,isnull(score,100) from b
解释:从表b取数据然后插到表a中,若表b中字段score为null,则,默认插到表a中的数值是100

SQL IsNull函数详解的更多相关文章

  1. SQL语句函数详解__sql聚合函数

    函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:单行函数.组函数 本文将讨论如何使用单行函数及 ...

  2. sql server 函数详解(5)系统函数

    返回表中指定字段的长度 返回表中指定字段的名称   返回数据表达式的数据的实际长度函数 返回数据库的编号   返回数据库的名称   返回数据库当前默认的null值 返回服务器端计算机的标识号 返回服务 ...

  3. sql server 函数详解(3)数据类型转换函数和文本图像函数

    数据类型转换函数 文本和图像函数 --在同时处理不同数据类型的值时,SQL Server一般会自动进行隐士类型转换.对于数据类型相近的值是有效的,比如int和float,但是对于其它数据类型,例如整型 ...

  4. sql server 函数详解(4)日期和时间函数

    时间和日期函数第一部分 时间和日期函数第二部分

  5. sql server 函数详解(2)数学函数

    绝对值函数ABS(x)和返回圆周率的函数PI() 平方根函数SQRT(x) 获取随机函数的函数RAND()和RAND(x) 四舍五入函数ROUND(x,y) 符号函数SIGN(x) 获取整数的函数CE ...

  6. sql server 函数详解(1)字符串函数

    ASCII()函数 CHAR()函数 LEFT()函数 RIGHT()函数 LTRIM()函数 RTRIM()函数 STR()函数 字符串逆序的函数REVERSE() 计算字符串的长度函数LEN(st ...

  7. Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt

    PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...

  8. 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结

    为什么说JAVA中要慎重使用继承   这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两 ...

  9. MYSQL常用内置函数详解说明

    函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...

随机推荐

  1. HDU-1051 Wooden Sticks--线性动归(LIS)

    题目大意:有n根木棍(n<5000),每根木棍有一个长度l和重量w(l,w<10000),现在要对这些木头进行加工,加工有以下规则: 1.你需要1分钟来准备第一根木头. 2.如果下一根木头 ...

  2. java流程控制之习题

     经过近段时间的学习,差不多也掌握了java的流程控制以及基本知识,下面就来一起练练习题吧,看能做出来几道. 第一道题:假设小明有100块钱,这时候小明去超市需要换零钱,超市提供的零钱有1元面值,2元 ...

  3. kali 運行 chrome

    0x00前提 已經安裝好google chrome . 0x01 在終端執行命令: google-chrome,發現如圖: 錯誤提示:在root下只能使用 --no-sandbox選項來運行chrom ...

  4. spring boot:redis+lua实现顺序自增的唯一id发号器(spring boot 2.3.1)

    一,为什么需要生成唯一id(发号器)? 1,在分布式和微服务系统中, 生成唯一id相对困难, 常用的方式: uuid不具备可读性,作为主键存储时性能也不够好, mysql的主键,在分库时使用不够方便, ...

  5. linux(centos8):kubernetes安装的准备工作

    一,安装docker-ce19.03.11 1,卸载podman [root@kubemaster ~]# dnf remove podman podman是红帽系os自带的容器,卸载是为了避免冲突 ...

  6. 用python和GDAL 读取GRIB数据

    from osgeo import gdal import numpy as np path = './data/201912/anl_surf125.2019120100' dataset = gd ...

  7. LeakCanary检测(二)

    在主方法主实现一个内存泄漏,检测到手机会发送通知,也可以用利用androidStudio自带的Profile检测内存泄漏 public class MainActivity extends AppCo ...

  8. Java基础之字面值

    概要:什么是字面值 字面值是指在程序中无需变量保存,可直接表示为一个具体的数字或字符串的值.比如在a = b * 2这个语句中,2就是一个字面值,它本身就是一个具体的值. 在Java源代码中,字面值用 ...

  9. java数据结构-10循环队列

    一.概念: 循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用 二.代码实现: @SuppressWarnings("unchecked" ...

  10. python接口自动化测试--批量读取数据

    为了便于维护,python接口自动化测试用例可以利用xlrd模块读取excal表格进行数据分离.我们可以利用xlrd模块的row_values()和cell_value()两种方法读取Excal表格. ...