Oracle作业第四章
--第四章单行函数练习和课后作业
select *
from emp
-- 练习一
-- 1.写一个查询,用首字母大写,其它字母小写显示雇员的 ename,显示名字的长度,
-- 并给每列一个适当的标签,
-- 条件是满足所有雇员名字的开始字母是J、A 或 M 的雇员,
-- 并对查询结果按雇员的ename升序排序。(提示:使用initcap、length、substr)
select initcap(ename) 名字,length(ename) 名字的长度
from emp
where substr(ename,1,1) in('J','A','M')
order by ename asc
select initcap(ename) 名字,length(ename) 名字的长度
from emp
where substr(ename,1,1)='J' or substr(ename,1,1)='A' or substr(ename,1,1)='M'
order by ename asc
--练习二
-- 1.查询员工姓名中中包含大写或小写字母A的员工姓名。
select ename
from emp
where lower(ename) like '%a%' or upper(ename) like '%A%'
-- 2.查询部门编号为10或20,入职日期在81年5月1日之后,并且姓名中包含大写字母A的员工姓名,员工姓名长度
--(提示,要求使用INSTR函数,不能使用like进行判断)
select ename,length(ename),deptno,hiredate
from emp
where deptno in(10,20)
and hiredate>'01-5月-81'
and instr(ename,'A')>0
-- 3.查询每个职工的编号,姓名,工资,要求将查询到的数据按照一定的格式合并成一个字符串.
-- 前10位:编号,不足部分用*填充,左对齐
-- 中间10位:姓名,不足部分用*填充,左对齐
-- 后10位:工资,不足部分用*填充,右对齐
select rpad(empno,10,'*'),rpad(ename,10,'*'),lpad(sal,10,'*')
from emp
--练习三
-- 1.写一个查询,分别计算100.456 四舍五入到小数点后第2位、第1位、整数位的值。
select round(100.456,2)
from dual
select round(100.456,1)
from dual
select round(100.456,0)
from dual
-- 2.写一个查询,分别计算100.456 从小数点后第2位、第1位、整数位截断的值。
select trunc(100.456,2)
from dual
select trunc(100.456,1)
from dual
select trunc(100.456,0)
from dual
-- 练习四
-- 1.查询每个员工截止到现在一共入职多少天?
select ename,(sysdate-hiredate)
from emp
-- 练习五
-- 1.查询服务器当前时间
select sysdate
from dual
-- 2.查询部门10,20的员工截止到2000年1月1日,工作了多少个月,入职的月份。
-- (提示:使用months_between,extract)
select ename,months_between('01-1月-2000',hiredate) 工作了多少个月,extract(month from hiredate) month
from emp
where deptno in(10,20)
-- 3.如果员工试用期6个月,查询职位不是MANAGER的员工姓名,入职日期,转正日期,
-- 入职日期后的第一个星期一,入职当月的最后一天日期。
--(提示:使用add_months,next_day,last_day)
select ename 员工姓名,hiredate 入职日期,add_months(hiredate,6) 转正日期,next_day(hiredate,'星期一') 入职日期后的第一个星期一,last_day(hiredate) 入职当月的最后一天日期
from emp
where job<>'MANAGER'
--练习六
-- 1.显示服务器系统当前时间,格式为2007-10-12 17:11:11(提示:使用to_char函数)
select
to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')
from dual
-- 2.显示ename、hiredate 和 雇员开始工作日是星期几,列标签DAY(提示:使用to_char函数)
select ename,hiredate,to_char(hiredate,'day') DAY
from emp
-- 3.查询员工姓名,工资,格式化的工资(¥999,999.99) (提示:使用to_char函数)
select ename,sal,to_char(sal,'L999,999.99') 格式化的工资
from emp
-- 4.把字符串2015-03-18 13:13:13 转换成日期格式,并计算和系统当前时间间隔多少天。
-- (提示:使用to_date函数)
select to_date('2015-03-18 13:13:13','yyyy-mm-dd hh24:mi:ss') 转换成日期格式,
sysdate-to_date('2015-03-18 13:13:13','yyyy-mm-dd hh24:mi:ss') 和系统当前时间间隔多少天
from dual
-- 课后作业
-- 1.计算2000年1月1日到现在有多少月,多少周(四舍五入)。
select months_between(sysdate,'01-1月-2000') 到现在有多少个月 (sysdate-'01-1月-2000')/7
from dual
-- 2.查询员工ENAME的第三个字母是A的员工的信息(使用2个函数)。
select *
from emp
where substr(ename,3,1)='A'
-- 3.使用trim函数将字符串‘hello’、‘ Hello ’、‘bllb’、‘ hello ’
-- 分别处理得到下列字符串ello、Hello、ll、hello。
select
trim(leading 'h'from 'hello')
from dual
select
trim(' Hello ')
from dual
select
trim('b'from 'bllb')
from dual
select
trim(' hello ' )
from dual
-- 4.将员工工资按如下格式显示:123,234.00 RMB 。
select to_char(sal,'999,999.99') || 'RMB'
from emp
-- 5.查询员工的姓名及其经理编号,要求对于没有经理的显示“No Manager”字符串。
select ename,nvl(to_char(mgr),'No Manager') 经理编号
from emp
-- 6.将员工的参加工作日期按如下格式显示:月份/年份。
select to_char(hiredate,'mm/yyyy')
from emp
-- 7.在员工表中查询出员工的工资,并计算应交税款:如果工资小于1000,税率为0,
-- 如果工资大于等于1000并小于2000,税率为10%,如果工资大于等于2000并小于3000,
-- 税率为15%,如果工资大于等于3000,税率为20%。
select ename,sal,
(case
when sal>0 and sal<1000 then sal*0
when sal>=1000 and sal<2000 then sal*0.1
when sal>=2000 and sal<3000 then sal*0.15
when sal>3000 then sal*0.2
else 0
end)
税款
from emp;
-- 8.创建一个查询显示所有雇员的 ename和 sal。
-- 格式化sal为 15 个字符长度,用 $ 左填充,列标签 SALARY。
select ename,lpad(sal,15,'$') SALARY
from emp
Oracle作业第四章相关推荐
- python第四章课后答案4.7_Python数据分析实战作业 第四章 Python数据分析实战 习题...
第四章 Python数据分析实战 习题(数据见附件sizhang.xlsx) 班主任现有一班级的两张表,如下. 表一:成绩表 学 号C#线 代Python 16010203788896 表二:信息表 ...
- 用matlab读取三角波及其频谱,信号与系统利用MATLAB分析信号频谱作业(第四章)以及结论.doc...
4-31 计算周期矩形序列的频谱. 程序如下: %Program4_1计算周期矩形序列的频谱 N=32.M=4.%定义周期矩形序列的参数 x=[ones(1,M+1>,zeros(1,N-2*M ...
- 深入理解计算机系统家庭作业第四章(4.43-4.54)
/* *****4.43 */ A. 根据4.6可知,push %esp 是将%esp的旧值压入栈中:而这段代码压入的新值,两者不一致. B. 将%esp的旧值先放入另一个寄存器中再进行操作 ...
- 软工作业-第四章-软件构件【下】
如今,云服务通过网络提供各种服务接口,如RESTful应用程序编程接口(APIs)被广泛使用于应用程序中.在新的云服务中模型BaaS(后端即服务),应用程序委派后端云服务提供商的实现.例如,应用程序如 ...
- oracle第三章、第四章作业
---------------------第三章课后作业----------------------------- --1.查询入职时间在1982-7-9之后,并且不从事SALESMAN工作的员工姓名 ...
- c语言第四章作业,大学C语言第四章作业答案
大学C语言第四章作业答案,期末考试的题库,二级C语言的练习 第四章课后习题参考程序 三.编程 1.输入一个正整数,判断该数为奇数还是偶数. 参考程序:(1) #include int main() { ...
- 深圳大学计算机英语作业答案,2016年深圳大学大学计算机基础mooc课第四章答案...
测验:第四章作业 提交时间:2016-11-29 21:11:53试卷状态:已批改已公布成绩 1. 假设将选择符号的判断条件disc<0更改为disc>=0,其他的基本符号不变,那么流程图 ...
- 计算机操作系统第四章作业
计算机操作系统第四章作业 1.何为静态链接?静态链接时需要解决两个什么问题? 答:静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装入模块,以后不再拆开的链接方式. 将 ...
- 陈强教授《机器学习及R应用》课程 第十四章作业
#第十四章作业#14.1 使用UCI数据集中液体超声波流量计数据Meter_D,进行多分类问题SVM估计,响应变量为流量计的四种状态 #(1)读取数据,把第44个变量设为因子 rm(list=ls() ...
最新文章
- win10每次开机都会自检系统盘(非硬件故障)——解决方案2019.07.12
- 各厂商防火墙初始登录IP及密码信息
- Servlet跳转到jsp页面的几种方法
- python中all函数的用法_python中map、any、all函数用法分析
- opeansea, nft, trend
- spark wordcount完整工程代码(含pom.xml)
- java日期格式大全 format SimpleDateFormat
- Oracle数据库的测试用户Scott的密码为什么是Tiger?
- python 投资组合_成功投资组合的提示
- 鼠标紧跟lable_紧跟当前软件工程趋势的12种方法
- php面试题之一——PHP核心技术(高级部分)
- MySql中not in的优化
- vue--配套axios用法
- 助创cms众筹 php,【教程】助创cms众筹系统完整测试流程详解
- hibernate整合openGauss
- 设置Shell脚本开机自启
- python默认字体大小_如何设置PIL加载的默认字体的大小,使其适合我的8x8矩阵?...
- 90个面试问题(带答案)
- Smali语法学习三
- hbase 使用lzo_hadoop hbase lzo 安装
热门文章
- Matlab------如何控制matlab中的数据输出格式
- 14届蓝桥杯Python总结
- HTML5+CSS3小实例:全屏导航栏菜单
- MBR与GPT分区扫盲,希捷2T、3T硬盘测评(多图杀猫)
- 教你5个大咖用的CMD命令,让人一看你就是个电脑高手
- 华为畅享6s可以升级鸿蒙,【华为畅享6S评测】华为畅享6S评测:颜值高又好用的千元机就是它了-中关村在线...
- python-将连续图片转换为视频
- 设计模式的C语言应用
- Java1==Java2?Java1:Java2问题
- Hadoop安装及部署