Oracle NULLIF函数


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

相关内容