易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle的NVL()函数和MySQL中的IfNull()函数

MS SQL 中的IsNull()函数:
IsNull ( check_expression , replacement_expression )
check_expression: 可以是任何类型,将要检查的表达式  不为空,返回它
replacement_expression: 类型必须和check_expression相同,check_expression为null,返回它
这个函数的作用就是:判断check_expression是否为空,为空就返回replacement_expression,不为空则返回check_expression
eg:
SELECT IsNull(null,1)  返回1
SELECT IsNull(null,’男') 返回男
SELECT IsNull(‘’,'男') 注意返回的不是男哦
MS Sql中的 IsNull( )函数相当于Oracle中的 NVL( )函数:
NVL(EXP1,EXP2),函数返回exp1和exp2 中第一个不为null的值。
如果exp1为空就返回exp2,否则返回exp1。
相当于Mysql中的IfNull()函数:
应用场景:比如一张表:Products ,该表取自 http://www.w3schools.com/SQL/sql_isnull.asp
P_Id
ProductName
UnitPrice
UnitsInStock
UnitsOnOrder
1
Jarlsberg
10.45
16
15
2
Mascarpone
32.56
23
 
3
Gorgonzola
15.67
9
20
假设UnitsOnOrder这一列是可以为空的,可能含有空值,那么执行
SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder) from Products 有可能会出错
因为UnitsOnOrder这一列为空的时候,运算的结果就是空
mssql的isnull()函数可以指定处理空值的方式:
改为下面得就可以了SELECT ProductName,UnitPrice*(UnitsInStock+isnull(UnitsOnOrder,0)) from Products
isnull(unitsOnOrder,0) unitsOnOrder为空的时候返回0
COALESCE() function
COALESCE ( expression [ ,...n ] )
相当于:
COALESCE(expression1,...n) 的功能与以下 CASE 表达式相同:
CASE
   WHEN (expression1 IS NOT NULL) THEN expression1
   WHEN (expression2 IS NOT NULL) THEN expression2
   ...
   ELSE expressionN
END


相关文档:

Oracle多行记录合并/连接/聚合字符串的几种方法

什么是合并多行字符串(连接字符串)呢,例如:
SQL> desc test;
Name     Type          Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y       &nb ......

oracle专有和共享服务模式

专有模式:
在专有服务器配置中,Oracle为每个连接到服务器得客户机启动一个专用服务器进程。一个客户机的专用服务器进程只为此客户机工作。各专用服务器进程完全独立,无需共享数据。在用户会话存在的整个过程中,相应的专用服务器进程一直存在,不论用户是否活动。直到用户会话终止后,该应用的专用服务器进程才终止。在 ......

Oracle存储过程包含三部分

Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。
Oracle存储过程可以有无参数存储过程和带参数存储过程。 
一、无参程序过程语法
 
1 create or replace procedure NoParPro
2 as  ;
3 begin
4 ;
5 exception  &nb ......

oracle中pro*c的学习


oracle中pro*c的学习
 一 Pro*C 程序概述:
1.什么是Pro*C程序
在ORACLE数据库管理和系统中, 有三种访问数据库的方法;
(1) 用SQL*Plus, 它有SQL命令以交互的应用程序访问数据库;
(2) 用第四代语言应用开发工具开发的应用程序访问数据库,这些工具有SQL*froms,QL*Reportwriter,SQL*Menu等;
(3) 利用在 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号