数据库练习一

--1 以首字母大写的方式显示所有员工的姓名
select *from emp;
select substr(upper(ename),0,1) from emp;
select substr(lower(ename),2)from emp;


select substr(upper(ename),0,1)||substr(lower(ename),2)from emp;


--2.将员工的职位用小写显示
select emp.ename as 员工 ,lower(job) as 职位 from emp;


--3 将员工的名字分别用大写和小写显示 
select upper(ename) as 名字大写,lower(ename) as 名字小写 from emp;


--4 将员工名字,首字母小写,其他字母大写的方式显示
select substr(lower(ename),0,1)||substr(upper(ename),2)from emp;


--5 显示员工姓名为5 个字符的员工 
select * from emp where ename like '_____';
select * from emp where length(ename)=5;


--6.显示所有员工姓名的前三个字符
select substr(ename,0,3) from emp;


--7.显示所有员工姓名的后三个字符
select substr(ename,length(ename)-2) from emp ;


--8.显示所有员工的姓名,用a 替换所有"A"
select replace(ename,'A','a') from emp;


--9.查询一个月前入职的员工
select * from emp  where substr(to_char(hiredate,'yyyy-MM-dd'),6,2)=(substr(to_char(sysdate,'yyyy-MM-dd'),6,2)-1);


select * from emp  where to_char(hiredate,'MM')=(to_char(sysdate,'MM')-1);


--10 显示在一个月固定为30 天的情况所有员工的日薪,忽略余数  
select ename as 员工, sal as 月薪,round(sal/30,2) as 日薪 from emp;


--11 显示所有12 月份入职的员工
select * from emp  where substr(to_char(hiredate,'yyyy-MM-dd'),6,2)='12';
select * from emp  where to_char(hiredate,'MM')='12';


--12 显示员工的年薪(12 个月的工资+补贴,补贴是每个月都有)
select e.*,to_char((sal+nvl(comm,0))*12,'L999,999,999') as 年薪 from emp e;




--13 显示所有员工的姓名、加入公司的年份和月份,并且按照年份排序
select ename as 姓名, substr(to_char(hiredate,'yyyy-MM-dd'),0,4)as 年份,substr(to_char(hiredate,'yyyy-MM-dd'),6,2)as 月份
from emp order by 年份;
select ename as 姓名, to_char(hiredate,'yyyy')as 年份,to_char(hiredate,'MM')as 月份
from emp order by 年份;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值