咱们遇到过大多的状况的需求是查询结果中空转为0,这个能够经过oracle的NVL()函数就能够搞定。oracle
以前作报表客户有个需求,查询出结果为0 要转成空的,不显示0函数
那么在oracle有没有现成函数能搞定呢?有的spa
一、方法1:NULLIF()函数code
1)介绍对象
NULLIF (expr1, expr2),若expr1和expr2相等,返回NULL;不相等,等返回expr1blog
2)例子class
--将 0 转成 空 ,结果 空 --- select NULLIF('', to_char(0)) SexStr1 from dual;
结果select
3)实际应用方法
-- 将入库通知单的入库数量 将 0 转成 空 --- select NULLIF('', to_char(Num)) InNum from Dxc_In_Notice;
二、方法2:用case when 判断im
1)介绍
用法就不解释了,跟C#的if else查很少。
2)例子
--将 0 转成 空 ,结果 空 --- select (case to_char(0) when '1' then '男' when '2' then '女'else '' end) SexStr2 from dual;
3)实际应用
--将 0 转成 空 ,结果 空 --- select (case to_char(Sex) when '1' then '男' when '2' then '女'else '' end) SexStr2 from EdsEmployee;
注意:NULLIF() 函数的参数类型要一致,case 对象和when对象也同样。