Oracle常用函数练习题(三)

      • 1、将所有员工的名字按小写的方式显示
      • 2、将所有员工的名字按大写的方式显示
      • 3、显示正好为5个字符的员工的姓名
      • 4、显示所有员工姓名的前三个字符
      • 5、以首字母大写,后面小写的方式显示所有员工的姓名
      • 6、以首字母小写后面大写方式显示所有员工姓名
      • 7、显示所有员工的姓名,用“我是老虎”替换所有“A”
      • 8、查找已经入职8个月多的员工
      • 9、显示满10年服务年限的员工的姓名和受雇日期
      • 10、对于每个员工,显示其加入公司的天数
      • 11、找出各月倒数第3天受雇的所有员工
      • 12、显示薪水的时候,把本地货币单位加在前面
      • 13、显示1981年入职的所有员工
      • 14、显示所有10月份入职的员工

1、将所有员工的名字按小写的方式显示

select lower(ename) from emp;

2、将所有员工的名字按大写的方式显示

select upper(ename) from emp;

3、显示正好为5个字符的员工的姓名

select ename from emp where length(ename)=5;

4、显示所有员工姓名的前三个字符

select substr(ename,0,3) from emp;

5、以首字母大写,后面小写的方式显示所有员工的姓名

select initcap(ename) from emp;

6、以首字母小写后面大写方式显示所有员工姓名

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

7、显示所有员工的姓名,用“我是老虎”替换所有“A”

select replace(ename,'A','我是老虎') from emp; 

8、查找已经入职8个月多的员工

select * from emp where months_between(sysdate,hiredate)>8;

9、显示满10年服务年限的员工的姓名和受雇日期

select ename,hiredate,
round(months_between(sysdate,hiredate)/12) as 服务年限
from emp 
where round(months_between(sysdate,hiredate)/12)>=10;

10、对于每个员工,显示其加入公司的天数

select ename,sysdate-hiredate from emp;
select ename,
round(months_between(sysdate,hiredate)*30) 入职天数
from emp;

11、找出各月倒数第3天受雇的所有员工

select * from emp where hiredate=last_day(hiredate)-2;

12、显示薪水的时候,把本地货币单位加在前面

select ename,'¥'||sal from emp;
select ename,lpad(sal,length(sal)+2,'¥')工资 from emp;

13、显示1981年入职的所有员工

select * from emp where to_char(hiredate,'yyyy')=1981;
select * 
from emp 
where hiredate in (
  select hiredate from emp where to_char(trunc(hiredate,'yyyy'),'yyyy')=1981
);

14、显示所有10月份入职的员工

select * from emp where to_char(hiredate,'mm')=10;

你可能感兴趣的:(Oracle,oracle,数据库,sql)