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

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

作者: 别学编程 | 来源:发表于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、求出在闰年被雇佣的雇员信息

相关文章

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

    伪列伪表: 伪列:可以操作行列物理地址和逻辑地址 伪表:查询不存在的表,可以说是虚拟表以保证语法的正确性,一般用于...

  • Oracle的伪列

    伪列rownum,伪列就像表中的列一样,但是在表中并不存储。伪列只能查询,不能进行增删改操作。伪列的数据是由ORA...

  • Oracle的dual是什么东西啊

    dual是Oracle中的一个伪表,利用这个伪表可以设置或查看序列,或者是调用一些内置的函数,方便操作。 简单来说...

  • 7.表的查询

    7.1 单行函数 7.1.1 字符函数 接收字符输入返回字符或者数值, ,dual 是伪表 7.1.2 数值函数 ...

  • 一千行MySQL命令(非常不错的总结,强烈建议保存下来)

    基本操作 数据库操作 表的操作 数据操作 字符集编码 数据类型(列类型) 列属性(列约束) 建表规范 SELECT...

  • 一千行MySQL命令

    基本操作 数据库操作 表的操作 数据操作 字符集编码 数据类型(列类型) 列属性(列约束) 建表规范 SELECT...

  • Mysql入门汇总

    基本操作 数据库操作 表的操作 数据操作 字符集编码 数据类型(列类型) 列属性(列约束) 建表规范 SELECT...

  • MYSQL入门操作及注意事项

    对数据库的操作: 数据类型: 对表的基本操作: 时间日期相关函数 字符串相关函数 数学相关函数 定义表的约束 数据...

  • Oracle特有属性与sql优化

    2019-05-10 SQL语句 Oracle伪列 伪列并没有存储在表中。伪列值可以查询,但不能插入、更新和删除。...

  • MySQL数据库操作

    数据库 MySQL 基本操作 数据库操作 表的操作 数据操作 字符集编码 数据类型(列类型) 列属性(列约束) 建...

网友评论

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

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