今天们来讲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

最新文章

  1. php,nginx重启
  2. ASP.NET正则表达式(URL,Email)
  3. HttpWebRequest请求时无法发送具有此谓词类型的内容正文。
  4. 在IOS输入框中 键盘上显示“搜索”
  5. C# const与static的理解
  6. initWithNibName与viewDidLoad的执行关系以及顺序
  7. SA / SAM 题目集
  8. Linux之Redis安装
  9. Java 11 快要来了,编译 &amp; 运行一个命令搞定!
  10. 环回接口---loopback
  11. delphi加载ADOQUERY
  12. MySQL表类型和存储引擎
  13. Ubuntu下安装qq方法及疑难问题解决
  14. spring cloud 微服务架构 简介
  15. 【51Nod】1920 空间统计学 状压DP
  16. VScode 安装必备
  17. Linq-分页查询
  18. UVA-10806 Dijkstra, Dijkstra. (最小费用流,网络流建模)
  19. Windows Server 2012 R2如何编辑hosts文件
  20. Codeforces Round #165 (Div. 1) Greenhouse Effect(DP)

热门文章

  1. JDBC-第1篇-基础
  2. Web前端助手-功能丰富的Chrome插件
  3. swoole与php协程实现异步非阻塞IO开发
  4. 05jmeter正则表达式
  5. python3.8安装flask出现错误“ModuleNotFoundError: No module named &#39;_ctypes&#39;”
  6. 数组转换成List集合
  7. (乱入)FingerGesture
  8. iOS 原生库对 https 的处理
  9. JAVA中的NIO (New IO)
  10. MySQL字符集与排序规则总结