Oracle NULLIF函数
Oracle NULLIF函数语法为NULLIF(表达式1,表达式2),如果表达式1和表达式2相等则返回空值,如果表达式1和表达式2不相等则返回表达式1的结果。
注意:表达式1和表达式2应该是相同数据类型或能隐含转换成相同数据类型,表达式1不能用字符null。
示例1:如果sal为888的则返回空
- SQL> select a.ename,a.sal,nullif (sal,8888) value from emp a;
- ENAME SAL VALUE
- -------------------- ---------- ----------
- SMITH 99 99
- ALLEN 8888
- WARD 8888
- JONES 8888
- MARTIN 8888
- BLAKE 8888
- CLARK 8888
- SCOTT 999 999
- KING 8888
- TURNER 8888
- ADAMS 8888
- JAMES 8888
- FORD 8888
- MILLER 8888
- xiangyc 9999.88 9999.88
- 已选择15行。
可以看到相等为空,不相等返回表达一。
示例2:
- SQL> select nullif(3+5,8) value from dual;
- VALUE
- ----------
示例3:证明第一表达式不能用字符null
- SQL> select nullif(null,8) value from dual;
- select nullif(null,8) value from dual
- *
- 第 1 行出现错误:
- ORA-00932: 数据类型不一致: 应为 -, 但却获得 CHAR
转载至:http://blog.csdn.net/laoshangxyc/article/details/8648623