SQL高级语句-NULL 函数-- ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数
来源:互联网 发布:知乎 俄罗斯电影 编辑:程序博客网 时间:2024/05/24 04:01
ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数
请看下面的 "Products" 表:
假如 "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() 函数达到相同的结果:
NVL函数的格式如下:NVL(expr1,expr2)
含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。
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
0 0
- SQL高级语句-NULL 函数-- ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数
- SQL中的NULL函数:isnull、ifnull、nullif、coalesce
- 用 ISNULL(), NVL(), IFNULL() and COALESCE() 函数替换空值
- 用 ISNULL(), NVL(), IFNULL() and COALESCE() 函数替换空值
- 用 ISNULL(), NVL(), IFNULL() and COALESCE() 函数替换空值
- 用 ISNULL(), NVL(), IFNULL() and COALESCE() 函数替换空值
- 用 ISNULL(), NVL(), IFNULL() and COALESCE() 函数替换空值
- sql------isnull 和 ifnull 函数
- coalesce和nvl函数
- mysql中IFNULL()和COALESCE()函数替代null
- mysql if 、ifnull、is not null 和isnull函数
- MySQL 的IFNULL()、ISNULL()和NULLIF()函数
- MySql函数之 ISNULL()、NULLIF()和IFNULL()
- COALESCE与ISNULL函数
- DELPHI的NULL函数,相当于MS SQL的ISNULL,ORACLE的NVL
- Oracle COALESCE函数 ISNULL 函数
- SQL语句的DECODE和NVL()函数
- SQL Server ISNULL函数和Coalesce函数替换空值的区别
- android自定义控件(星级评分)
- 笔记:Jquery遮罩ShowLoading组件
- use vue vuex vue-router, not use webpack
- Cordova的热更新插件配置
- shell脚本删除几天前的备份文件
- SQL高级语句-NULL 函数-- ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数
- Centos6.5 安装zabbix3
- div 设置一行文字,文字超过后用...表示
- hihocoder #1318 : 非法二进制数
- 批量打包上传FIR脚本
- WGS84、GCJ02、BD911坐标相互转换
- mysql集群之MYSQL CLUSTER
- Read/convert an InputStream to a String
- 并查集-洛谷P1525 关押罪犯