工欲善其事必先利其器
文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

转换为大写函数:upper
转换为小写函数:lower
首字母变为大写:initcap
计算字符串长度:length
字符串替换:replace(类,要替换的值,替换为值)
字符串截取:substr(列,起始点,长度)
select upper(name) from student;
select lower(name) from student;
注意dual是oracle自带的一张表
select initcap('helloword') from dual;
结果:Helloword
以下两种都可以
select initcap(name) from student;
select name, length(name) from student;
select replace(name,'张三','李四') from student;
select replace('hello word',' ','') from dual;
注意,截取字符初始是从1开始的,如果初始值写为0也会默认从1开始
select substr(name,1,1) from student;
四舍五入:round(数据,保留小数位)
直接截取小数位,不进行四舍五入:trunc(数据,保留小数位)
取模函数:mod(被除数,除数)
select round(123.4567,2) from dual;
结果:123.46
select round(123.4567,-2) from dual;
结果:100
select round(-123.65) from dual;
结果:-124
select trunc(123.4567) from dual;
结果:123.45
select trunc(-123.65) from dual;
结果:-123
select mod(10,3) from dual;
结果:1
oracle自带的当前日期数据列:sysdate
计算两个日期之间相差的月份:months_between(日期1,日期2)
增加若干月后的日期:add_months(日期,月数)
查询当月的最后一天:last_day(日期)
计算下一个指定的日期:next_day(日期,一周时间数)
注意:这里查询的是oracle数据库所安装在的电脑上的日期,比如oracle安装在服务器上,这样你用自己本地的电脑远程查询数据库的日期和自己本机电脑日期会有差距,一般为1分钟左右。
select sysdate from dual;
select sysdate + 3 from dual;
select months_between(date1,date2) from dual;
select trunc(months_between(date1,date2)/12) years from dual;
select add_months(sysdate,5) from dual;
select last_day(sysdate) from dual;
select next_day(sysdate,'星期三') from dual;
转换为字符串:to_char()
转换为日期:to_date()
转换为数字:to_number()
select to_char(sysdate,'yyyy-mm-dd') from dual;
select to_char(sysdate,'yyyy') year from dual;
select to_date('1998-09-27','yyyy-mm-dd') from dual;
select to_number('1') from dual;
如果为空则使用定义的值,如果不为空则用原来的值:nvl(列,定义值)
多值判断:decode(列,匹配内容1,显示内容1,匹配内容2,显示内容2)
select nvl(name,'张三') from student;
select nvl(age,0) from student;
select decode(sex,'男','man','女','woman') from student;
这里的相关内容还没有整理完毕,文章后面持续更新,建议收藏。
文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。
可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。