今天们来讲sql命令中的这个null参数

null

  • null: 可以理解成【没有值,空值】的意思

注意以下几点

  • --1、零和null是不一样的,null表示空值,而零表示的一个确定的值

    --2、null不能参与的运算 <> , != , =

    --3.null可以参与的运算符是is ,not is

例如

  • 这里所有的操作都是在scott(库)中的emp表做演示

    comm 表示的是emp表中的这个奖金字段。
select * from emp where commm <> null;    //-- 错误
select * from emp where comm != null; //--错误
select * from emp where comm = null; //-- 错误
select * from emp where comm is null; //--正确,表示的是输出奖金为空的员工的信息
select * from emp where comm not is null; //-- 正确,表示的是输出奖金不为空的员工的信息
  • 4.任何数据类型都允许为null

    eg:
create table test(name nvarchar(20),
cnt int,
ridi datetime) insert into test values(null,null,null) //这些都是成立的,所以任何类型都允许为空。
//这些比较好理解的东西,我就不用图片进行展示了
  • 5、任何数字与null参与数学运算结果永远是null

    eg:

    请输出每个员工的年薪【这里的年薪的算法等于sal(月薪)*12+comm(奖金)】

    注意我们的emp表中comm(奖金)这一个字段的值有null(空值)
                           // --我们先来演示一个错误的sql命令的写法
select comm,sal*12+comm “年新” from emp
//-- 这时我们会发现comm为null的字段,年薪这个计算列的字段就会为null(空值)
//-- 所以任何数字与null参与数学运算结果永远是null

下面这个图片是上面这条sql命令所执行的结果

那么这个题的sql命令应该怎么写呢

 select comm,sal*12+isnull(comm,0) "年薪" from emp
// -- isnull(comm,0)表示的是如果comm是null,就返回零否者返回comm的值。

下面这个图片是上面这条sql命令所执行的结果

从图中可以看见不管comm(奖金)这个字段的值是否为空,这个计算列的年薪字段都有值

今天这一讲就到这里,下一讲我们来说 order by

如果还有什么不懂的,可以加我qq485536603

SqlServer2005 查询 第六讲 null的更多相关文章

  1. SqlServer2005 查询 第七讲 order by

    今天我们来讲sql命令中的参数order by的用法 order by order by:可以理解成[以某个字段排序] order by a,b // a和b都按升序 order by a,b des ...

  2. SqlServer2005 查询 第四讲 in

    今天我们来说sql中的命令参数in in --in用于查询某个字段的指定的值的记录信息 注意一下:--对或(or)取反是并且(and),对并且(and)取反是或(or 数据库中不等于表示有两种:!= ...

  3. SqlServer2005 查询 第八讲 order by

    今天我们来说模糊查询 模糊查询 -- --模糊查询[主要用在搜索中]格式:select 字段的集合 from 表名 where 某个字段名 like 匹配条件 --注意:匹配条件通常含有通配符,通配符 ...

  4. 《ArcGIS Engine+C#实例开发教程》第六讲 右键菜单添加与实现

    原文:<ArcGIS Engine+C#实例开发教程>第六讲 右键菜单添加与实现 摘要:在这一讲中,大家将实现TOCControl控件和主地图控件的右键菜单.在AE开发中,右键菜单有两种实 ...

  5. 网络编程第六讲Select模型

    网络模型第六讲Select模型 一丶Select模型是什么 以前我们讲过一个迭代模型.就是只服务一个客户端连接.但是实际网络编程中.复杂的很多. 比如一个 C/S架构程序 (客户端/服务端) 客户端很 ...

  6. 32位汇编第六讲,OllyDbg逆向植物大战僵尸,快速定位阳光基址

    32位汇编第六讲,OllyDbg逆向植物大战僵尸,快速定位阳光基址 一丶基址,随机基址的理解 首先,全局变量的地址,我们都知道是固定的,是在PE文件中有保存的 但是高版本有了随机基址,那么要怎么解决这 ...

  7. MFC原理第六讲.消息传递

    ---恢复内容开始--- MFC原理第六讲.消息传递 一丶简介 通过上一讲我们的消息映射表.我们得知. 消息映射表 会保存父类的MessageMap 以及自己当前的消息结构体数组. 消息传递是一层一层 ...

  8. 内核知识第六讲,内核编写规范,以及获取GDT表

    内核知识第六讲,内核编写规范,以及获取GDT表 一丶内核驱动编写规范 我们都知道,在ring3下,如果我们的程序出错了.那么就崩溃了.但是在ring0下,只要我们的程序崩溃了.那么直接就蓝屏了. 那么 ...

  9. JavaWeb_(Mybatis框架)关联查询_六

    系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_ ...

随机推荐

  1. Flask的使用以及返回值(其中Response后续详细单独补充)

    一.使用 安装依赖pip3 install flask 第一步 创建Flask对象 from flask import Flask app =Flask(__name__) 第二步 创建路由 @app ...

  2. 前端模块化(CommonJs,AMD和CMD)

    前端模块规范有三种:CommonJs,AMD和CMD. CommonJs用在服务器端,AMD和CMD用在浏览器环境 AMD 是 RequireJS 在推广过程中对模块定义的规范化产出. CMD 是 S ...

  3. [NOIp2009] luogu P1072 Hankson 的趣味题

    把 c 改成 d 下了两个点. 题目描述 已知正整数 a0,a1,b0,b1a_0,a_1,b_0,b_1a0​,a1​,b0​,b1​,设某未知正整数 xxx 满足: xxx 和 a0a_0a0​ ...

  4. 技术分享:Dapr,让开发人员更轻松地构建微服务应用

    最近一直在学习微服务相关的技术.微服务架构已成为构建云原生应用程序的标准,并且可以预见,到2022年,将有90%的新应用程序采用微服务架构.微服务架构提供了令人信服的好处,包括可伸缩性,松散的服务耦合 ...

  5. 02--Java Jshell的使用 最适合入门的Java教程

    JShell JShell目标 Java Shell 工具(简称:JShell)是一个用于学习Java编程语言和构建Java代码原型的交互式工具.JShell是一个Read-Evaluate-Prin ...

  6. Eureka -- 浅谈Eureka

    目录: 一:Eureka介绍 二:Eureka架构图 三:Eureka组件 四:Eureka作用 五:Eureka和Zookeeper对比 什么是Eureka 引入SpringCloud中文文档介绍 ...

  7. The usage of Markdown---杂谈:缩进/换行/分割线/注释/文字颜色

    目录 1. 序言 2. 缩进 3. 换行 4. 分割线 5. 注释 6. 改变文字大小和颜色 更新时间:2019.09.14 1. 序言   今天一口气更新了接近10篇博客(虽然只是将我之前基本码好的 ...

  8. Java源码 Integer.bitCount实现过程

    public static int bitCount(int i) { // HD, Figure 5-2 i = i - ((i >>> 1) & 0x55555555); ...

  9. Java基础(三十一)JDBC(1)常用类和接口

    1.Driver接口 每种数据库的驱动程序都应该提供一个实现java.sql.Driver接口的类.在加载某一驱动程序的Driver类时,它应该创建自己的实例并向java.sql.DriverMana ...

  10. Vue实例与模板语法

    VUE基础使用方法 一.安装 1.NPM 在用 Vue 构建大型应用时推荐使用 NPM 安装[1].NPM 能很好地和诸如 webpack 或 Browserify 模块打包器配合使用.同时 Vue ...