美文网首页
第二天下午、伪列、伪表、函数、字符操作、日期操作

第二天下午、伪列、伪表、函数、字符操作、日期操作

作者: 别学编程 | 来源:发表于2020-08-06 07:48 被阅读0次

    伪列伪表:

    伪列:可以操作行列物理地址和逻辑地址


    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、求出在闰年被雇佣的雇员信息
    

    相关文章

      网友评论

          本文标题:第二天下午、伪列、伪表、函数、字符操作、日期操作

          本文链接:https://www.haomeiwen.com/subject/tzkwrktx.html