oracle第三章常用函数 练习题

–1.查询员工ENAME的第三个字母是A的员工的信息(使用2个函数)。
select * from emp;
select * from emp where ename like ‘__A%’;

–2.将员工的参加工作日期按如下格式显示:月份/年份
select ename,to_char(hiredate,‘mm/yyyy’) from emp;
SELECT to_char
–3.计算2000年1月1日到现在有多少月,多少周(四舍五入)
select round(months_between(sysdate,to_date(‘2000-01-01’,‘yyyy-MM-dd’))) from dual;

select round((sysdate-to_date(‘2000-01-01’,‘yyyy-MM-dd’))/7) from dual;

–4.显示姓名、hiredate和雇员开始工作日是星期几(提示:使用to_char函数)
select ename,hiredate,to_char(hiredate,‘day’) from emp;

–5.写一个查询,用首字母大写,其它字母小写显示雇员的 全名,显示名字的长度,
–并给每列一个适当的标签,条件是满足所有雇员名字的开始字母是J、A 或 M 的雇员,并对查询结果按雇员的全名升序排序。
select ename,initcap(ename),length(ename) from emp where ename like ‘J%’ or ename like ‘A%’ or ename like ‘M%’ ;

–6.查询员工姓名中中包含大写或小写字母A的员工姓名。
select * from emp where ename like ‘%a%’ or ename like ‘%A%’ ;

–7.查询部门编号为10或20,入职日期在81年5月1日之后,并且姓名中包含大写字母A的员工姓名,员工姓名长度(提示,要求使用INSTR函数,不能使用like进行判断)
select ename,length(ename),hiredate from emp where hiredate>to_date(‘1981-05-01’,‘yyyy-MM-dd’) and instr(ename,‘A’)>0;
–8.查询每个职工的编号,姓名,工资要求将查询到的数据按照要求将查询到的数据按照定的格式合并成一个字符串.
select empno,ename,sal,
       --前10位:编号,不足部分用填充,左对齐
       lpad(empno,10,’
’),
       --中间10位:姓名,不足部分用填充,左对齐
       lpad(ename,10,’
’),
       --后10位:工资,不足部分用填充,右对齐
       rpad(sal,10,’
’) from emp;
–9.查询员工一共入职多少天,当前时间-入职
select ename,hiredate,trunc(sysdate-hiredate) from emp;

–10.查询服务器当前时间
s

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值