(4)截断函数:trunc()
不会进位直接截断
select trunc(45.926,2) from dual;//截断小数点后两位
select trunc(45.926,1) from dual;//截断小数点后一位
select trunc(45.926,0) from dual;//截断取整
select trunc(45.926,-1) from dual;//截断小数点前一位
select trunc(65.926,-2) from dual;//截断小数点前两位
(5)求余
select mod(9,3) from dual;
select mod(9,4) from dual;
3、转换函数:
将一种数据类型转换成另外一种类型:例如:TO_CHAR()、TO_NUMBER()、TO_DATE()等等。
数值转字符 字符转数值 日期类型
(1)字符转数值to_number(str)
select 100+‘10’ from dual;//已经自动转换
select 100 + to_number(‘10’) from dual;
两种方式效果相同
(2)数值转字符
select ename,to_char(sal,‘$9,999.99’) from emp;
(3)日期转字符to_char()
- 设置日期格式
select to_char(sysdate,‘yyyy-mm-dd hh:mi:ss’) from dual;
- 设置日期格式显示24小时制
select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss’) from dual;
- 设置年
select to_char(sysdate,‘yyyy’) from dual;
- 代表一个星期的第几天
select to_char(sysdate,‘d’) from dual;
- 代表一个月中的第几天
select to_char(sysdate,‘dd’) from dual;
- 代表一年中的第几天
select to_char(sysdate,‘ddd’) from dual;
- 获取星期
select to_char(sysdate,‘day’) from dual;//获取星期的全称
select to_char(sysdate,‘dy’) from dual;//获取星期的缩写
4、日期函数:
对时间和日期进行操作的函数。
例如:TRUNC()、SYSDATE()、ADD_MONTHS()等等。
(1)查询今天的日期
select sysdate from dual;
(2)查询3个月后的今天的日期
select add_months(sysdate,3) from dual;
(3)查询3天后的今天的日期
select sysdate + 3 from dual;
(4)查询员工入职的天数
select ename,ceil(sysdate - HIREDATE) from emp;
(5)查询员工入职的周数
select ename,ceil((sysdate - HIREDATE)/7) from emp;
(6)查询员工入职的月数
select ename,ceil(months_between(sysdate,hiredate)) from emp;
(7)查询员工入职年份
select ename,ceil(months_between(sysdate,hiredate)/12) from emp;
(8)字符转日期:
select to_date(‘2017-04-10’,‘yyyy-mm-dd’) from dual;
(9)查询1981年到1985年入职的员工信息
select * from emp where hiredate between to_date(‘1981’,‘yyyy’) and to_date(‘1985’,‘yyyy’);
5、通用函数:
(1)nvl(参数1,参数2)
;//如果参数1为null返回参数2
(2)nvl(参数1,参数2,参数3)
;//如果参数1位null就返回参数3,否则返回参数2
select nvl2(null,5,6) from dual;
select nvl2(1,5,6) from dual;
(3)nullif(参数1,参数2)
如果 参数1 等于 参数2 那么就返回null,否则返回 参数1
select nullif(1,1) from dual;
select nullif(1,2) from dual;
select nullif(5,6) from dual;
select nullif(6,6) from dual;
(4)coalesce()
返回第一个不为null参数的函数
select coalesce(null,null,3,5,6) from dual;
select coalesce(null,null,null,5,6) from dual;
聚合函数同时可以对多行数据进行操作,并返回一个结果。比如 SUM(x)返回结果集中 x 列的总合。
聚合函数直接忽略空值(null)
max();
min();
count();
sum();
avg();
1、统计员工工资总和
select sum(sal) from emp;
2、统计员工奖金总和
select sum(comm) from emp;
3、统计员工人数
select count(1) from emp;
4、统计员工的平均奖金
select avg(comm) from emp;
这样是错误的结果在计算的时候加上了空值
需要这样计算
select sum(comm)/count(1) from emp;
1、case…when通用的写法,在Oracle和mysql当中都可以使用
case 字段
when 值1 then 值
when 值2 then 值
else 默认值
end
(1)给表中项目起一个中文名
select
case ename
when ‘SMITH’ then ‘史密斯’
WHEN ‘ALLEN’ then ‘爱兰’
else ‘路人甲’
end
from emp;
(2)起一个别名 在end后面双引号号内添加
select
case ename
when ‘SMITH’ then ‘史密斯’
WHEN ‘ALLEN’ then ‘爱兰’
else ‘路人甲’
end “中文名字”
from emp;
2、case…when,Oracle当中特有的写法:decode(字段if1,then1,if2,then2,else1);
(1)给表中项目起一个中文名
select decode(ename,‘SMITH’,‘史密斯’,‘ALLEN’,‘爱伦’,‘SCOTT’,‘史考特’,‘路人乙’) from emp;
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
最后
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
- Java核心知识整理
Java核心知识
- Spring全家桶(实战系列)
- 其他电子书资料
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
图片转存中…(img-GJQ83CxW-1712864287457)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-O0ZH46HV-1712864287457)]
最后
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
- Java核心知识整理
[外链图片转存中…(img-IUQrQotD-1712864287458)]
Java核心知识
- Spring全家桶(实战系列)
[外链图片转存中…(img-2XyWG3Ci-1712864287458)]
- 其他电子书资料
[外链图片转存中…(img-axuyWhuM-1712864287458)]
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
[外链图片转存中…(img-TBXlGeJI-1712864287459)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-AxVTkbT7-1712864287459)]