SQL-W3School-高级:SQL NULL 函数
2024-08-30 15:57:26
ylbtech-SQL-W3School-高级:SQL NULL 函数 |
1.返回顶部 |
1、
SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数
请看下面的 "Products" 表:
P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
---|---|---|---|---|
1 | computer | 699 | 25 | 15 |
2 | printer | 365 | 36 | |
3 | telephone | 280 | 159 | 57 |
假如 "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
2、
2.返回顶部 |
3.返回顶部 |
4.返回顶部 |
5.返回顶部 |
1、
2、
6.返回顶部 |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
最新文章
- Trace Flag
- sql跨数据库转移
- 在KCloud上轻松“玩转”Docker
- Spring组件扫描<;context:component-scan/>;使用详解
- 对";一维最大子数组和";问题的思考(homework-01)
- Oracle- PL/SQL DEV的远程配置
- 趣拍proguard配置
- Plotting trees from Random Forest models with ggraph
- PHP appserv + ZendStudio12.5.1 + 注册码
- sublime text3 安装package control 插件,解决访问被墙的问题
- q次询问,每次给一个x,问1到x的因数个数的和。
- Ubuntu 14.04服务器配置 (1) 安装和配置
- 五毛党可能要失业了,因为AI水军来了
- spring boot 热部署devtools实现
- FireDAC FDQuery
- c++课程学习(未完待续)
- Nginx反向代理websocket配置实例
- Intellij idea上传项目到github
- 【转】【Unity】实现全局管理类的几种方式
- linux 添加用户到sudo中