Oracle学习笔记:nvl、nvl2、nullif、decode函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle学习笔记:nvl、nvl2、nullif、decode函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1396字,纯文字阅读大概需要2分钟。
内容图文
![Oracle学习笔记:nvl、nvl2、nullif、decode函数](/upload/InfoBanner/zyjiaocheng/876/1675d64fe91f44d997347fb917f5354b.jpg)
一、nvl函数
功能:从两个表达式返回一个非 NULL 值。
语法:
select nvl(expression1, expression2)
-- 如果 expression1 计算结果为 null,则返回 expression2
-- 任意一种数据类型
-- 如果 expression1、expression2 都为null则返回null
select nvl(null, 1) from dual;
-- 1
返回值类型:字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值。
两个表达式数据类型必须一致。
二、nvl2函数
语法:
select nvl2(expression1, expression2, expression3)
-- expression1 不为null则返回 expression2
-- expression1 为null则返回 expression3
expression2 和 expression3 类型不同情况下,会强制转换为 expression2 数据类型。
select nvl2(expr, 1, 0) from dual;
三、nullif函数
语法:
select nullif(100, 200)
-- 100
说明:相等返回null,不等返回 expression1。
四、decode函数
SQL中没有逻辑判断语句(分支语句),decode 函数可以完成类似功能。
语法:
select decode(条件, 值1, 返回值1, 值2, 返回值2..., 值n, 返回值n, 缺省值);
/*
IF 条件 = 值1 THEN
RETURN(返回值1)
ELSIF 条件 = 值2 THEN
RETURN(返回值2)
......
ELSIF 条件 = 值n THEN
RETURN(返回值n)
ELSE
RETURN(缺省值)
END IF
*/
应用:结合 lpad
补全函数,可以使主键的值自动加1并补0。
select lpad(decode(count(id), 0, 1, max(to_number(id)+1)), 14, '0') as col from dual;
应用:性别统计。
select decode(sex, '男', 1, 0), decode(sex, '女', 1, 0) from table_name;
应用:order by 对字符进行特定的排序。
select * from table_name
order by decode(subject_name, '语文', 1, '数学', 2, '英语', 3);
内容总结
以上是互联网集市为您收集整理的Oracle学习笔记:nvl、nvl2、nullif、decode函数全部内容,希望文章能够帮你解决Oracle学习笔记:nvl、nvl2、nullif、decode函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。