在看完Oracle单行函数之后的练习题,巩固一下知识。
先回顾雇员表表的所有数据
SECLECT * FROM emp;
1、找出每个月倒数第三天受雇的所有员工
· 在emp表中跟雇佣日期有关的字段是 hiredate, 每个雇员有自己的雇佣日期,则每个雇佣日期所在月的最后一天也一定不相同;
· 如果想要求出某一个雇佣日期所在月的最后一天,则使用LAST_DAY()函数即可。
· WHERE 子句的判断条件: hiredate=LAST_DAY(hiredate)-2;
SELECT empno,ename,hiredate,LAST_DAY(hiredate),LAST_DAY(hiredate)-2
FROM emp;
范例:最终实现
SELECT *
FROM emp
WHERE hiredate=LAST_DAY(hiredate)-2;
2、找出早于12年前受雇的员工
· 12年前受雇,肯定要求年,求年最精确的做法是按照 月/12 计算;
· 两个日期之间的月使用 MONTHS_BETWEEN()函数完成;
· WHERE 子句之中只需要判断计算结果大于12即可;
SELECT *
FROM emp
WHERE MONTHS_BETWEEN(SYSDATE,hiredate)/12 > 12;

本文通过一系列练习题介绍了如何利用Oracle的单行函数处理日期、计算服务年限及进行复杂查询。涵盖了LAST_DAY(), MONTHS_BETWEEN(), TO_CHAR()等函数的用法,同时回顾了单行函数、多表查询和数据库连接操作的相关知识。"
127757393,11843310,C语言深入解析:枚举、内存管理与文件操作,"['C语言', '内存管理', '文件I/O', '编译原理']
最低0.47元/天 解锁文章
528

被折叠的 条评论
为什么被折叠?



