SQL NULL 函数

SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数

请看下面的 "Products" 表:

P_Id

ProductName

UnitPrice

UnitsInStock

UnitsOnOrder

1

Jarlsberg

10.45

16

15

2

Mascarpone

32.56

23

3

Gorgonzola

15.67

9

20

假如 "UnitsOnOrder" 是可选的,而且可以包含 NULL 值。

我们使用下面的 SELECT 语句:

SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)

FROM Products

在上面的实例中,如果有 "UnitsOnOrder" 值是 NULL,那么结果是 NULL。

微软的 ISNULL() 函数用于规定如何处理 NULL 值。

NVL()、IFNULL() 和 COALESCE() 函数也可以达到相同的结果。

在这里,我们希望 NULL 值为 0。

下面,如果 "UnitsOnOrder" 是 NULL,则不会影响计算,因为如果值是 NULL 则 ISNULL() 返回 0:

SQL Server / MS Access

SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))

FROM Products

Oracle

Oracle 没有 ISNULL() 函数。不过,我们可以使用 NVL() 函数达到相同的结果:

SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))

FROM Products

MySQL

MySQL 也拥有类似 ISNULL() 的函数。不过它的工作方式与微软的 ISNULL() 函数有点不同。

在 MySQL 中,我们可以使用 IFNULL() 函数,如下所示:

SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))

FROM Products

或者我们可以使用 COALESCE() 函数,如下所示:

SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))

FROM Products

mysql异常关闭7034,SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数相关推荐

  1. sqlisnull mysql_SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数

    SQL NULL 函数 SQL ISNULL().NVL().IFNULL() 和 COALESCE() 函数 请看下面的 "Products" 表: P_Id ProductNa ...

  2. oracle中的NVL,NVL2,NULLIF,COALESCE函数使用

    Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数.主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以. 下面简 ...

  3. MySQL异常java.sql.SQLSyntaxErrorException

    MySQL语句异常java.sql.SQLSyntaxErrorException 这个异常出现在简单SQL里面,核实了几次语句没问题,最后发现是MySQL关键字保留机制问题,我使用了signal字段 ...

  4. MySql基础篇---002 SQL之SELECT使用篇: 基本的SELECT语句,运算符,排序与分页,多表查询,单行函数,聚合函数,子查询

    第03章_基本的SELECT语句 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑 ...

  5. mysql 类似 nvl,浅谈mysql可有类似oracle的nvl的函数

    浅谈mysql可有类似oracle的nvl的函数 要用ifnull,而不是isnull isnull是判断是否为null,返回值是1表示null或者0表示不为空 ifnull等同于oracle的nvl ...

  6. MySQL数据库安装以及SQL基本增删改查

    目录 1.介绍下数据库 1.1.DB概念和特点 1.2.常见DB软件 1.3.数据库结构 2.MySQL安装与使用 2.1.安装 2.2.卸载 2.3.MySQL服务启动与关闭 2.4.MySQL登录 ...

  7. mysql5.5异常: java.sql.SQLException: Packet for query is too large (1055975 1048576).

    参考:http://blog.csdn.net/zhangzeguang88/article/details/21383667 mysql5.5异常: java.sql.SQLException: P ...

  8. 软件创新实验室:MySQL数据库与简单SQL语句使用

    文章目录 前言 简介 特点 SQL DDL:操作数据库.表 DML:增删改表中数据 DQL:查询表中的记录 后记 拓展 范式 第一范式 1NF 第二范式 2NF 第三范式 3NF B+树 节点结构 插 ...

  9. MySQL系列---架构与SQL执行流程详解

    文章目录 1. 背景 2. 架构体系 2.1 架构图 2.2 模块详解 2.3 架构分层 3. 查询SQL语句执行流程 3.1 连接 3.1.1 MySQL支持的通信协议 3.1.2 通信方式 3.2 ...

最新文章

  1. 基于注解的 IOC 配置
  2. 安天365第二期线上交流
  3. POJ 并查集 题目汇总 ——czyuan原创(转)
  4. 上海找python工作容易吗_Python程序员去上海工作有多难?
  5. mysql left join join right
  6. java中延迟_Java中的延迟分配
  7. 【生信进阶练习1000days】day11day12-GEO data mining
  8. smarq v7 智器 v7 新手使用
  9. 计算机安装pdf打印机驱动,Win7安装Microsoft Print to PDF虚拟打印机的方法
  10. 心知天气html,esp8266初级入门实用教程一之访问心知天气读取实时天气数据
  11. 手机短信小额支付接口.Net实现
  12. 关于java.io.FileNotFoundException: test.txt (系统找不到指定的文件。)的问题解决办法。(相对路径出错)
  13. 2022-2028全球与中国侧装车载摄像头市场现状及未来发展趋势
  14. MySQL——初识MySQL
  15. FFmpeg av_dump_format函数使用
  16. uefi+guid分区与legacy+mbr分区_硬盘分区表格式GUID和MBR知识普及
  17. java int Integer
  18. Ae 效果快速参考:颜色校正
  19. html5 励志名言,霸气的学习励志名言
  20. 20跨考计算机-拙笔

热门文章

  1. 基于百度贴吧的HIV高危人群特征分析
  2. 作者:陈婷婷(1986-),女,中国科学院北京基因组研究所生命与健康大数据中心工程师...
  3. 理解 C++ 的 Memory Order 以及 atomic 与并发程序的关系
  4. 暑期英语学习(词组积累)【持续更新中】
  5. sql server中扩展存储过程
  6. ActiveMQ学习总结(8)——消息队列设计精要
  7. 如何在command中使用log
  8. 牛人和普通人的区别在于思维方式!
  9. 从一个hibernate配置文件中了解到的东西
  10. python设计与调试[摘自笨方法学python]