Oracle中的NVL,NVL2,NULLIF以及COALESCE函数使用
发布日期:2025-04-30 00:23:48 浏览次数:14 分类:精选文章

本文共 1422 字,大约阅读时间需要 4 分钟。

????????Oracle????????????????????????????????????????????????????????????????????????????

NVL?NON-VALIDating???

NVL??????????????????????????NVL(expr1, expr2)???expr1?????????expr2???????????NVL?????????????????????????

???

SELECT NVL(null, 'ok') FROM dual; -- ???'ok'

SELECT NVL('something', 'ok') FROM dual; -- ???'something'

NVL2??

NVL2???NVL???????????????NVL2(expr1, expr2, expr3)???expr1?????expr2???expr1??????expr3?NVL2?????????????????

???

SELECT NVL2(null, 'ok1', 'ok2') FROM dual; -- ???'ok2'

SELECT NVL2('something', 'ok1', 'ok2') FROM dual; -- ???'ok1'

NULLIF??

NULLIF?????????????????NULL????????????????????NULLIF(exp1, exp2)???exp1??exp2???NULL??????exp1???

???

SELECT NULLIF(1, 1) FROM dual; -- ???''

SELECT NULLIF(1, 2) FROM dual; -- ???'1'

COALESCE??

COALESCE??????????????????????????????????NULL??????????????????????

???

SELECT COALESCE(null, 1, 2, 3) FROM dual; -- ???'1'

SELECT COALESCE(null, null, 2, 3) FROM dual; -- ???'2'

SELECT COALESCE(null, null, null, 3) FROM dual; -- ???'3'

SELECT COALESCE(null, 1, null, 2) FROM dual; -- ???'1'

?????

- ????????????????NVL??? - ??????????????????????????????COALESCE??? - ?????????????????NULLIF??? - ???????????????????NVL2???

???????????????????????????????????????????????????????????????????

上一篇:Oracle中的rownum 和rowid的用法和区别
下一篇:oracle中新建用户和赋予权限

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2026年05月28日 01时12分18秒