伪列伪表:
伪列:可以操作行列物理地址和逻辑地址
image.png
伪表:查询不存在的表,可以说是虚拟表以保证语法的正确性,一般用于测试
image.png
常用字符操作函数
字符串操作代码及函数:
拼接函数
image.png
首字母大写函数
image.png
大小写转换和求字符串长度
image.png
求字符串长度为5的姓名
image.png
截取字符串函数
image.png
截取身份证的出生年月
image.png
字符串替换函数
image.png
数字操作函数
image.png
取余数函数
image.png
日期操作函数:
获取当前日期
image.png
给每个日期加12个月,相当于加一年
image.png
日期直接加减就等于天数的加减
image.png
获取当月的最后一天
image.png
--查询闰年入职的员工(1获取入职年份2拼接成当前2月1日3转成日期格式4求当前2月的最后一天5最后一天为29为闰年)
查询闰年入职的员工
--查询闰年入职的员工(1获取入职年份2拼接成当前2月1日3转成日期格式4求当前2月的最后一天5最后一天为29为闰年)
select ename,hiredate
from emp
where to_char(last_day(to_date(to_char(hiredate,'YYYY')||' -2-1 ','YYYY-mm-dd')),'dd') = '29';
--select to_date('2020-2-3','YYYY-mm-dd') from dual;
求工作月数
image.png
查询每个人的入职年限,不足一年不算(裁员39年以下的)
image.png
按入职年限排序
按入职年限排序
查询员工工作年限,分别显示年、月、日
image.png
--课下作业
--函数练习题
--1、显示只有首字母大写的所有雇员的姓名
select initcap(ename) from emp;
--2、显示正好为6个字符的雇员姓名
select ename,length(ename) from emp where length(ename)=6;
--3、显示不带有'R'的雇员姓名
select ename from emp where ename not like '%R%';
--4、显示所有雇员的姓名的前三个字符
select ename,substr(ename,1,3) from emp;
--5、显示所有雇员的姓名,用A替换所有'B'
select ename,replace(ename,'B','A') from emp;
--6、显示姓名字段的任何位置,包含 "A" 的所有雇员的姓名
select rowid,rownum,ename from(select ename from emp where ename like '%A%');
--7、选择在1987年雇用的员工的姓名和雇用时间
select ename,hiredate from emp where hiredate like 1987;
--8. 选择公司中没有管理者的员工姓名及job
select ename,job from emp where mgr is null;
--9. 选择公司中有奖金 (comm不为空,且不为0) 的员工姓名,工资和奖金比例,按工资逆排序,奖金比例逆排序.
select ename,sal,comm,sal||' is a '||comm from emp where comm is not null and comm != 0 order by sal DESC,comm DESC;
select ename,sal,comm,sal||' is a '||comm from emp where comm > 0 order by sal DESC,comm DESC;
--10. 选择员工姓名的第三个字母是A的员工姓名
select ename from emp where ename like '__A%';
--函数练习
--11、找出各月倒数第三天受雇的所有雇员
--12、找出早于25年之前受雇的雇员
--13、显示所有雇员的姓名以及满10年服务年限的日期
--14、显示雇员的详细资料,按姓名排序
--15、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面
--16、显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序
--17、显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在月排序,将最早年份的项目排在最前面
--18、显示在一个月为30天的情况下所有雇员的日薪金
--19、找出在(任何年份的)2月受聘的所有雇员
--20、对于每个雇员,显示其加入公司的天数
--21、以年、月和日显示所有雇员的服务年限
--22、求出在闰年被雇佣的雇员信息
网友评论