文档章节

数据库空值和NULL处理

JerrySimple
 JerrySimple
发布于 2017/09/04 15:04
字数 160
阅读 15
收藏 1
点赞 0
评论 0

用 ISNULL(), NVL(), IFNULL() and COALESCE() 函数替换空值

MySQL中这样来写:

select IFNULL(exp1,exp2)
select IFNULL(sum(data),0)//如果sum(data)为NULL,则返回0,否则返回本身

如果exp1为NULL,则返回exp2

SQLSERVER中这样写:

select ISNULL(sum(data),0)

在ORACLE中这样写:

select NVL(sum(data),0)

对于所有数据库适用的方法这样写:

select COALESCE(sum(data),0)

COALESCE()用法:

COALESCE(value,...)  

返回第一个不是null的值,如果参数列表全是null,则返回null


SELECT COALESCE(NULL,1);
        -> 1
SELECT COALESCE(NULL,NULL,1,3) 

        ->1

SELECT COALESCE(NULL,NULL,NULL);
        -> NULL

© 著作权归作者所有

共有 人打赏支持
JerrySimple
粉丝 5
博文 53
码字总数 35111
作品 0
杭州
后端工程师
mysql的空值与NULL的区别

MySQL数据库是一个基于结构化数据的开源数据库。SQL语句是MySQL数据库中核心语言。不过在MySQL数据库中执行SQL语句,需要小心两个陷阱。   陷阱一:空值不一定为空   空值是一个比较特殊...

雍雍_yoyo
2016/04/26
48
0
数据库中罪恶的NULL

数据库中罪恶的NULL 摘要:1.Null表示Unknow; 2.聚合运算; 3.性能; 4.NO NULL! 1.Null表示Unknow: SQL基于三值逻辑true、false、unknow;Null与任何类型的值进行比较(=、>、>=、<、<=)或运算(...

吞吞吐吐的
2017/10/24
0
0
MySQL · 答疑解惑 · MySQL Sort 分页

背景 6.5号,小编在 Aliyun 的论坛中发现一位开发者提的一个问题,说 RDS 发现了一个超级大BUG,吓的小编一身冷汗 = =!! 赶紧来看看,背景是一个RDS用户创建了一张表,在一个都是NULL值的非索...

阿里云RDS-数据库内核组
2015/06/05
0
0
mysqludf_json将关系数据以JSON编码

前言 sphinx2.1版本引入了json属性,该如何构建json格式数据呢?mysql触发器与gearman结合应用时,只能向gearman worker传递单一的字符串参数,如果要将mysql表中的某些列的数据传递给worke...

NorthBoy
2013/08/29
0
0
求一条关于对空值处理的sql语句

这是C# winform 的一个“修改”操作 窗口中10几个textbox,sql语句简化后模式大致是: update test1 set t1='"+ a.Text +"',t2='"+ b.Text +"',t3='"+ c.Text +"' where t_id=1 但是从textb...

t_kong
2013/07/31
346
1
不再迷惑,无值和NULL值

在关系型数据库的世界中,无值和NULL值的区别是什么?一直被这个问题困扰着,甚至在写TSQL脚本时,战战兢兢,如履薄冰,害怕因为自己的一知半解,挖了坑,贻害后来人,于是,本着上下求索,不...

长征6号
2014/03/06
0
0
HAWQ取代传统数仓实践(六)——增加列

业务的扩展或变化是不可避免的,尤其像互联网行业,需求变更已经成为常态,唯一不变的就是变化本身,其中最常碰到的扩展是给一个已经存在的表曾加列。 以销售订单为例,假设因为业务需要,在...

wzy0623
2017/05/23
0
0
JFinal与MySQL插入数据,默认值 和 null 值

请问一下各位,我在MySQL中varchar字段都设置了非空,默认Empty String。在JFinal里getModel时,能获取空值 ,所以在插入数据时会服Can not be null的错误,有什么办法在插入数据时处理空值字...

dreamers
2013/06/22
1K
3
☆MySQL order by limit 分页数据重复问题

0 问题描述 在MySQL中我们通常会采用limit来进行翻页查询,比如limit(0,10)表示列出第一页的10条数据,limit(10,10)表示列出第二页。但是,当limit遇到order by的时候,可能会出现翻到第二页...

猿码道
05/14
0
0
MySQL阶段二——sql语句基础(1)

基础学习达到的目标 01.如何使用MySQL数据库 02.如何设计数据库 数据库概述 01.什么是数据库 02.关系型数据库和非关系型数据库 03.常见的数据库 Sql分类 数据库操作 01.创建数据库 02.查看数...

花开半夏qb
2017/07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
4
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
1
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
165
1
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
昨天
1
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
昨天
1
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
昨天
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
昨天
2
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
昨天
2
0
开发技术瓶颈期,如何突破

前言 读书、学习的那些事情,以前我也陆续叨叨了不少,但总觉得 “学习方法” 就是一个永远在路上的话题。个人的能力、经验积累与习惯方法不尽相同,而且一篇文章甚至一本书都很难将学习方法...

_小迷糊
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部