当前位置:网站首页>Oracle数据库常用函数总结
Oracle数据库常用函数总结
2022-08-09 10:28:00 【jie_ming514】
我本楚狂人,凤歌笑孔丘 ------唐·李白《庐山谣寄卢侍御虚舟》
一、字符串函数
- 显示员工姓名,其中首字母大写,其余小写
select concat(upper(substr(ename,1,1)),lower(substr(ename ,2,length(ename)-1))) from emp
知识点:大小写转换
- initcap()函数可以实现首字母大写的功能
select rownum as 序号, initcap(ename) as 姓名 from emp
知识点:首字母大写
- 将薪资打印出来,并带有人民币¥标识符
select ename as 姓名, to_char(sal, 'L999,999.99') as 薪资 from emp; //L表示本地货币的符号
知识点:字符格式转化
- 求出薪资大于$1000.00的员工的姓名(重在将货币转化成数字)
select ename ,to_char(sal, '$999,999.99') from emp
where sal < to_number('$1,000.00','$99,999.99')
- 打印员工的年薪
select ename as 姓名, to_char(sal*12+nvl(comm,0),'L99,999.99') as 年薪 //nvl的作用为:如果comm为空,则令他为空
from emp //注:在oracle中,null+number=null
知识点:nvl(num1,num2):如果num1为null则取null.
- 打印系统时间(以特定格式)
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as 当地时间 from dual
知识点:时间转化为字符串
- 打印任意时间
select to_date('2015-10-24 18:24:45','yyyy-mm-dd hh24:mi:ss') from dual
- 查询在1985年10月1日以前入职的员工信息
select ename ,hiredate from emp
where hiredate < to_date('1985-10-1','yyyy-mm-dd')
--默认格式
select ename ,hiredate from emp
where hiredate <to_date('1-10-1985')
- 今天星期几
select to_char(sysdate,'day') from dual //打印的是字符串 ,如:‘星期一’
select to_char(sysdate,'D') from dual //打印的是数字,星期天为1,星期一位2.
select to_char(sysdate,'year'), to_char(sysdate,'month'), to_char(sysdate,'day') from dual;
- 任意时间是星期几
select to_char(to_date('1-1月-1987'),'day') from dual
- 查询入职时在星期四的员工的信息
select * from emp where to_char(hiredate ,'D')=5
二、数值函数
- mod()函数(求余函数)
select mod(5,3),mod(5,-3),mod(-5,3),mod(-5,-3) from dual;
结果:
总结:d=mod(m,n) => m=n*q+d. 整数求余中,余数的正负号与除数无关,与被除数的符号相同。
- round()函数(四舍五入函数)
select round(2.345,1),round(2.345),round(2.543,0),round(-2.345,0) from dual;
结果:
总结:四舍五入,与符号无关,小数位数没有写就是默认取整数。
- floor()函数(向下取整函数)
select floor(3.4),floor(3.5),floor(-3.4) from dual;
结果:
总结:向下取整,返回小于或等于数值型参数的最大整数,向负无穷方向取整。
- ceil()函数(向上取整函数)
select ceil(3.4),ceil(3.5),ceil(-3.4) from dual;
结果:
总结:向上取整,返回大于或等于数值型参数的最小整数,向无穷大方向取整。
- trunc()函数(截取数字)
select trunc(3.4),trunc(3.5),trunc(-3.4) from dual;
结果:
总结:截取数字,trunc(n1,n2)函数用于将数值n1根据n2进行截取,没有位数默认为向零取整
三、时间函数
- current_date()函数
select sessiontimezone as 时区, current_date as 时间 from dual;
结果:
- extract()函数
该函数可以从指定时间中提取指定的日期部分,如日期中的年、月、日、时、分、秒等,其使用的语法为
extract(域名 from 日期)
select hiredate, extract(month from hiredate) month from emp;--取时间的月份值
extract函数中各种域的列表
域代码 | 说明 |
---|---|
year | 获取年份 |
month | 获取月份 |
day | 获取天数 |
hour | 获取小时数 |
minute | 获取分钟数 |
secound | 获取秒数 |
timezone_hour | 获取当前时区的小时数 |
- last_day()函数(返回特定日期所在月的最后一天)
select hiredate, extract(day from last_day(hiredate)) month from emp;
结果:
- add_months()函数(增加月份)
select hiredate,add_months(hiredate,2) from emp;
结果:
- to_char(SYSDATE,‘D’)
DDD是该天在一年内的第多少天,d是在一周内第几天,dd是一个月内的 DY :Day of week abbreviated Mon,
Tue, Fri DAY :Day of week spelled out Monday, Tuesday, Friday D :Day
of week (1–7) 1,2,3,4,5,6,7--注意:每星期的第1天是”星期日“ DD :Day of month (1–31)
1,2,3,4…31 DDD :Day of year (1–366) 1,2,3,4…366
今天星期几
边栏推荐
猜你喜欢
随机推荐
函数组件和类组件和dva视图更新问题
浅析JWT安全问题
【Linux】宝塔面板设置MySQL慢查询日志,未走索引日志
学长告诉我,大厂MySQL都是通过SSH连接的
SQL Server查询优化
集合与函数
分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测
Attentional Feature Fusion
xmms的均衡器试验成功 音效相当不错 比rockbox可能还要好
unix环境编程 第十五章 15.3 函数popen和pclose
机器学习-逻辑回归(logistics regression)
对话跨国消费品牌DPO:数据安全合规从何做起?8.11直播见!
使用cpolar远程连接群晖NAS(创建临时链接)
OpenGL 2.0编程例子
xmms播放器加了播放列表的管理功能
[贴装专题] 视觉贴装平台与贴装流程介绍
Demand side power load forecasting (Matlab code implementation)
Oracle数据库:for update 和for update nowait的区别
相伴成长,彼此成就 用友U9 cloud做好制造业数智化升级的同路人
WUSTOJ:n个素数构成等差数列