oracle中nvl函数在mysql里面怎么使用
2017-01-22 11:29
465 查看
Oracle中的NVL函数
Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数。主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以。
下面只介绍介绍nvl函数的用法。
在介绍这个之前你必须明白什么是oracle中的空值null
NVL函数
NVL函数的格式如下:NVL(expr1,expr2)
含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。
在这里写一个oralce数据库换mysql数据例子:
原来的oralce语句如下:
create or replace view v_ms_reconductplanunvaliable as
(
(select.........,
sum(nvl(r.frecnum,0)*nvl(r.ftranRelation,1)) as unvaliableNum
from.........and.........
group by ...........
)
union all (
select...............,
sum(nvl(r.fapprovenum,0)*nvl(r.ftranRelation,1)) as unvaliableNum
from.................and.................
group by..................
)
union all (
select .................,
sum(nvl(r.foutnum,0)*nvl(r.ftranRelation,1)) as unvaliableNum
from.................. and.............
group by........................
)
);
换成mysql语句如下:
create or replace view v_ms_reconductplanunvaliable as
select r.fuseplanid,r.fuseplandetid,r.fmaterialid,r.fbatch,
sum(IFNULL(r.frecnum,0)*IFNULL(r.ftranRelation,1)) as unvaliableNum
from .....
group by .....
union all
select ......,
sum(IFNULL(r.fapprovenum,0)*IFNULL(r.ftranRelation,1)) as unvaliableNum
from .. and (...)
group by .....
union all
select .................,
sum(IFNULL(r.foutnum,0)*IFNULL(r.ftranRelation,1)) as unvaliableNum
from ...................and t.fuse='' and ..........
group by .........
去掉前后去掉括号,以适用于union 函数。
Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数。主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以。
下面只介绍介绍nvl函数的用法。
在介绍这个之前你必须明白什么是oracle中的空值null
NVL函数
NVL函数的格式如下:NVL(expr1,expr2)
含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。
在这里写一个oralce数据库换mysql数据例子:
原来的oralce语句如下:
create or replace view v_ms_reconductplanunvaliable as
(
(select.........,
sum(nvl(r.frecnum,0)*nvl(r.ftranRelation,1)) as unvaliableNum
from.........and.........
group by ...........
)
union all (
select...............,
sum(nvl(r.fapprovenum,0)*nvl(r.ftranRelation,1)) as unvaliableNum
from.................and.................
group by..................
)
union all (
select .................,
sum(nvl(r.foutnum,0)*nvl(r.ftranRelation,1)) as unvaliableNum
from.................. and.............
group by........................
)
);
换成mysql语句如下:
create or replace view v_ms_reconductplanunvaliable as
select r.fuseplanid,r.fuseplandetid,r.fmaterialid,r.fbatch,
sum(IFNULL(r.frecnum,0)*IFNULL(r.ftranRelation,1)) as unvaliableNum
from .....
group by .....
union all
select ......,
sum(IFNULL(r.fapprovenum,0)*IFNULL(r.ftranRelation,1)) as unvaliableNum
from .. and (...)
group by .....
union all
select .................,
sum(IFNULL(r.foutnum,0)*IFNULL(r.ftranRelation,1)) as unvaliableNum
from ...................and t.fuse='' and ..........
group by .........
去掉前后去掉括号,以适用于union 函数。
相关文章推荐
- 我有一个免费空间,里面有PHP,MYSQL但不知道怎么使用
- 使用ORACLE和MYSQL的简单心得
- ORACLE 8i 的存储过程里面 select aaa into var1 from tablea 如果记录为空,会出错.怎么解决
- oracle 与mysql的使用区别
- 转帖 mysql里面的oracle decode
- 转:Oracle怎么处理动态SQL.ref cursor与using 参数的结合使用.来自AskTom.
- oracle里面使用临时表解决表冲突一例(转贴)
- 我是怎么把4000万条数据从oracle导入到mysql中的
- 关于oracle中使用nvl函数时,对空字符串的理解
- 怎么用Oracle和MySql分别编写?
- MYSQL和ORACLE中使用LIKE的小区别
- 32位代码段不能写显存吗?==里面提到怎么在汇编使用16位,32位标志
- 在oracle的聚合函数(sum、avg等)中使用NVL函数,强迫加入空值
- MySQL使用递归存储过程实现树状结构,实现Oracle的Connect By 功能
- 在oracle的聚合函数(sum、avg等)中使用NVL函数,强迫加入空值
- oracle里面怎么查一个表中的日期字段的连续日期的缺少的日期
- 使用ORACLE和MYSQL的简单区别
- Linux下 mysql oracle 简单使用手册
- 使用MySQL Migration Toolkit快速将Oracle数据导入MySQL
- Oracle、DB2、MSSQL、MySQL使用感悟