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

0b1331709591d260c1c78e86d0c51c18.png

更多推荐