暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle Nullif 函数学习

原创 大道至简 2021-08-14
2197

Nullif 函数

语法

NULLIF(expr1, expr2)

nullif.gif

用途

  • 函数功能:比较两个参数expr1和expr2的值是否相等;
  • 如果相等,则函数返回NULL,如果不等,函数返回expr1的值;
  • 逻辑上和以下的case表达式相同
CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END

例子

官方示例,通过函数NULLIF(e.job_id, j.job_id)来判断2个job id是否相同,一样就返回null,不同,就返回employees表的job id;

原文说明如下:

The following example selects those employees from the sample schema hr who have changed jobs since they were hired, as indicated by a job_id in the job_history table different from the current job_id in the employees table

current job_id in the employees,就是说employees表中是当前最新的jobid,当两个jobid不等的时候返回的是employees表中的jobid,那么示例语句中的别名为什么定义成了"Old Job ID",不知道有没有大佬可以解惑一下,是不是我哪里理解错了。

SELECT e.last_name, NULLIF(e.job_id, j.job_id) "Old Job ID"
   FROM employees e, job_history j
   WHERE e.employee_id = j.employee_id
   ORDER BY last_name;

LAST_NAME                 Old Job ID
------------------------- ----------
De Haan                   AD_VP
Hartstein                 MK_MAN
Kaufling                  ST_MAN
Kochhar                   AD_VP
Kochhar                   AD_VP
Raphaely                  PU_MAN
Taylor                    SA_REP
Taylor
Whalen                    AD_ASST
Whalen

注意事项

老生常谈,还是要保持数据类型一致哦;

参考文档

https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions102.htm

最后修改时间:2021-08-14 16:22:38
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论