nullif(sql中nullif函数什么意思)
本文目录
sql中nullif函数什么意思
功能比较 expr1 和 expr2 的值,若二者相等,则返回 NULL,否则返回 expr1 的值。其中 expr1 不能为 NULL。NULLIF 函数在逻辑上相当于下面的 CASE 语句:CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END举例SQL》 select nullif(’yct’,’tyc’) from dual; NUL---yct SQL》 select nullif(’yct’,’yct’) from dual; NUL---expr1 和 expr2 的类型必须一致,否则会提示错误,因为无法比较二者是否相等:SQL》 select nullif(’yct’,sysdate) from dual;select nullif(’yct’,sysdate) from dual *ERROR 位于第 1 行:ORA-00932: 不一致的数据类型: 要求 CHAR 得到的却是 DATE当 expr1 为 NULL 时,该函数提示错误:SQL》 select nullif(null,’adf’) from dual;select nullif(null,’adf’) from dual *ERROR 位于第 1 行:ORA-00932: 不一致的数据类型: 要求 - 得到的却是 CHAR这里没有明确提示 expr1 不能为 NULL,而是说类型不一致。那么换成一致的类型呢:SQL》 select nullif(null,null) from dual;select nullif(null,null) from dual *ERROR 位于第 1 行:ORA-00932: 不一致的数据类型: 要求 - 得到的却是 CHAR仍然会有这样的提示,不太明确。总之,expr1 是不能为 NULL 的。下面的这个例子中,将查询哪个员工换了工作。表 job_history 中存储员工的历史工作记录,表 employees 中存储员工当前的工作记录: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_VPHartstein MK_MANKaufling ST_MANKochhar AD_VPKochhar AD_VPRaphaely PU_MANTaylor SA_REPTaylorWhalen AD_ASSTWhalen
ORACLE函数中的nullif函数表示什么意思
比较 expr1和 expr2 的值,若二者相等,则返回 NULL,否则返回 expr1的值其中 expr1不能为 NULL。
1、NULL指的是空值,或者非法值NVL expr1, expr2-》expr1为NULL,返回expr2不为NULL,返回expr1注意两者的类型要一致
2、NVL2 expr1, expr2, expr3-》expr1不为NULL,返回expr2为NULL,返回expr3,expr2和expr3类型不同的话,expr3会转换为expr2的类型
3、NULLIF expr1, expr2 -》相等返回NULL,不等返回ex。
SQL中如何把聚合函数的0换成null
select tno,tname,case when cast(count(cno) as varchar)=’0’ then ’无’ else cast(count(cno) as varchar) end from (select distinct t.tno,t.tname,sc.cno from teacher t left join sc on t.tno = sc.tno) tempgroup by tno,tnameorder by tno
如上,把count(cno)改成case when cast(count(cno) as varchar)=’0’ then ’无’ else cast(count(cno) as varchar) end
更多文章:
preventive是什么意思(preventive medicine是什么意思)
2024年7月5日 03:55
如何制造简单的木马?上海爸爸自制可亮灯可乘坐旋转木马,这个自制木马有多精致
2023年7月30日 15:00
特殊网站记事本(WINDOWS里面一些特殊字符如“心”“音符”等显示为方块,在网页记事本QQ里面都是如此,有没有办法修复)
2024年6月8日 01:11