千家信息网

Oracle系列:(11)通用函数和条件判断函数

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,使用NVL(a,b)通用函数,统计员工年收入,NVL()作用于任何类型,即(number/varchar2/date)通用函数:参数类型可以是number或varchar2或date类型select
千家信息网最后更新 2025年01月22日Oracle系列:(11)通用函数和条件判断函数


使用NVL(a,b)通用函数,统计员工年收入,NVL()作用于任何类型,即(number/varchar2/date)

通用函数:参数类型可以是number或varchar2或date类型

select ename,sal*12+NVL(comm,0) from emp;


使用NVL2(a,b,c)通用函数,如果a不为NULL,取b值,否则取c值,统计员工年收入

select ename,sal*12+NVL2(comm,comm,0) from emp;


使用NULLIF(a,b)通用函数,在类型一致的情况下,如果a与b相同,返回NULL,否则返回a,比较10和10.0是否相同

select NULLIF(10,'10') from dual;


使用SQL99标准通用语法中的case表达式,将职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400

case 字段

when 条件1 then 表达式1

when 条件2 then 表达式2

else 表达式n

end

课后请参考-12.2这个章节

select ename "姓名",job "职位",sal "涨前工资",       case job            when 'ANALYST' then sal+1000            when 'MANAGER' then sal+800         else sal+400       end "涨后工资"from emp;


使用oracle专用语法中的decode()函数,职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400

decode(字段,条件1,表达式1,条件2,表达式2,...表达式n)

select ename "姓名",job "职位",sal "涨前工资",       decode(job,'ANALYST',sal+1000,'MANAGER',sal+800,sal+400) "涨后工资"from emp;



单引号出现的地方如下:

1)字符串,例如:'hello'

2)日期型,例如:'17-12月-80'

3)to_char/to_date(日期,'YYYY-MM-DD HH24:MI:SS')

双引号出现的地方如下:

1)列别名,例如:select ename "姓 名" from emp

2)to_char/to_date(日期,'YYYY"年"MM"月"DD"日" HH24:MI:SS')''号中的英文字符大小写不敏感



工资 职位 表达式 函数 条件 类型 日期 相同 分析员 员工 地方 姓名 字段 字符 年收入 引号 经理 语法 分析 统计 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 分布式数据库怎么开发 远程网络技术是生产方式吗 互联网与我们的生活科技手抄报 idea调试远程服务器 根据网络安全法规定哪项是正确的 国内外服务器数据同步 数据库有红色叹号怎么回事 vpn服务器如何设置 软件开发企业需要交纳什么税 网络技术陈鹏 我的世界电信服务器哪个好 查询分析器检查数据库的语句 速卖通为什么要产品数据库 流行的网络安全软件 mc服务器末地 千千科技网络技术公司 我的世界多人游戏搜索不到服务器 外键如何删除数据库 智慧园区软件开发费用 商南县第四届网络安全宣传活动 网络安全中的安全事件 嘉定区定制网络技术值得推荐 监狱行业网络安全 数据库默认字符集怎么修改 服务器ip地址在哪找 杭州人工智能软件开发价钱是多少 在线书店数据库推荐书籍 无法通过ip连接数据库 小码农的软件开发第五章 济南系统软件开发团队
0