深入理解null的原理
--null的原理 --oracle一直将null和空字符串’’<长度为0>同等对待<如’’ is null是true,’’=null为false,如果声明a varchar2:=’’,那么a is null为true,a=’’为false>--1.null的运算 --算术表达式和null 运算总为null,实际上所有的操作符除了||连接操作符外,只要有一个操作符为null,则结果为null。 --------------------------------null操作符运算------------------------------ --算术操作,只要有一个操作数为null,则结果为null select null+10,null*10,null-10,null/10 from dual; --连接操作符||除外,null相当于空字符串 select null||'abc', ''||'abc' from dual;--abc ,abc--2.null在函数中的使用 create table nulltest as select null a from dual union all select 1 from dual union all select 2 from dual; alter table test2 add constraints uk_nulltest_id primary key(city);--null在组函数中的使用,sum,avg,min,max都会忽略null值 select sum(a) from nulltest; --3 select avg(a) from nulltest; --1.5 select min(a) from nulltest; --1 select max(a) from nulltest; --2--null在count函数中 --(1)如果指定count(*)或count(1)则不会忽略null(count(*)和count(1)效果一样,效率也没有什么差别) --(2)如果是count(列名)则会忽略null select count(*) from nulltest; --3 包含了null的计算 select count(1) from nulltest; --3 包含了null的计算 select count(a) from nulltest; --2 忽略了null select count(rowid) from nulltest; --3--3.null在条件中的使用 --如果一个操作数含有null,只能通过is null 和is not null 来比较才能返回true 或false,否则返回的结果只能是unkown.--4.null和索引、执行计划的关系(null在查询优化中的使用) --如果是b*tree索引,单列索引,索引列上有null值,则is null不走索引,当然is not null可能走索引,看cbo计划. --另外如果要走索引,可以使用bitmap索引或者使用复合索引,确保另一列上无null。
转载于:https://www.cnblogs.com/huangbiquan/p/8001743.html
深入理解null的原理相关推荐
- 理解mysql 底层原理
理解mysql 底层原理 mysql 关系数据库的一种,开源免费,支持百万级的存储性能.性能稳定.社区活跃 鉴于 本人半路出家,对于一些原理的东西都不怎么了解,正好 无所事事的情况下,翻博客,吸取知识 ...
- 通俗易懂理解GBDT算法原理-转
GBDT算法深入解析 https://www.zybuluo.com/yxd/note/611571 通俗易懂理解GBDT算法原理 https://blog.csdn.net/qq_36696494/ ...
- python模块之HTMLParser之穆雪峰的案例(理解其用法原理)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之HTMLParser之穆雪峰的案例(理解其用法原理) #http://www.cnblog ...
- 赠书:深入理解MySQL主从原理
根据经验,想要快速学习一门技术有3种方式. 第一种方式是通过代码来理解它的实现,反推它的逻辑. 这种方式的难度很大,而且起点相对高,能够沉浸其中的人非常少,过程相对来说是苦闷的,但如果能够沉下心来看代 ...
- 不同类的方法 事务问题_深入理解 Spring 事务原理
Spring事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的.对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行: 获 ...
- Java 多线程 —— 深入理解 volatile 的原理以及应用
转载自 Java 多线程 -- 深入理解 volatile 的原理以及应用 推荐阅读:<java 多线程-线程怎么来的> 这一篇主要讲解一下volatile的原理以及应用,想必看完这一篇 ...
- 面试精讲之面试考点及大厂真题 - 分布式专栏 05 公司使用什么RPC框架,聊聊你理解的RPC原理
05 公司使用什么RPC框架,聊聊你理解的RPC原理 引言 前些年我们在做一个规模不大的系统的时候,也就是单体架构,一台服务器部署上一个应用和数据库也就够了.但是现代化互联网公司业务逐渐扩大,服务逐渐 ...
- 深入理解K8S网络原理下
承接上文深入理解K8S网络原理上 Service 应用是K8s集群内部可见的而我们发布的应用需要外网甚至公网可以访问K8s如何将内部服务暴露出去? 四层网络只有Node节点网络可以对外通讯现在问题是第 ...
- 深入理解redis复制原理
深入理解redis复制原理 1.复制过程 2.数据间的同步 3.全量复制 4.部分复制 5.心跳 6.异步复制 1.复制过程 从节点执行 slaveof 命令. 从节点只是保存了 slaveof 命令 ...
最新文章
- Spring 框架中的单例Beans 是线程安全的么?
- 无状态Spring安全性第2部分:无状态身份验证
- 前端学习(2421):项目反馈
- PerlTidy的配置项
- delaunay三角网构建
- xcode ios 怎么导入p12证书
- 蓝桥杯历年省赛真题汇总及题目详解
- mumu 模拟器连不上adb
- 360浏览器下载|360安全浏览器下载
- C#小知识之中英文转换、去空格
- CDO解析eml文件为html,C# 读取eml文件 例子(解析eml文件)
- 迷一般的存在:0x7c00
- 如何利用小红书进行产品营销?小红书营销技巧有哪些?
- 什么是固态继电器(SSR)?
- 如何制作一份优秀的简历?
- 如何在浏览器中点击复制微信号并且跳转到微信
- Mac电脑的锁屏界面如何自定义锁屏消息?
- 基于NRC词典的离散情感分析(含有程度词和否定词)
- Ubuntu下使用Thunderbird收发QQ邮箱
- 11 年艺术生转行,逆袭成蚂蚁金服程序员,出版 TensorFlow 教材!
热门文章
- zabbix查看mysql同步_Zabbix 检测Mysql数据库的主从同步
- php配合jade使用,前端自动化系列(四)之jade预编译html
- 后端技术:消息队列MQ/JMS/Kafka相关知识介绍
- 数据结构基础:图结构的学习笔记
- 程序员的二十句励志名言,看看你最喜欢哪句?
- sql语句提高数据库查询效率
- sqlhelper中事务的简单用法(初学者)
- websocket 西部数码php_网页实时聊天之PHP实现websocket
- bmp 像素点 php,读取BMP图像每一像素点RGB数据 | 学步园
- html5做文字颜色渐变代码,神奇!js+CSS+DIV实现文字颜色渐变效果_javascript技巧