当前位置:网站首页>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
今天星期几
边栏推荐
- 【原创】JPA中@PrePersist和@PreUpdate的用法
- Win32控件--------------------WM_DRAWITEM消息测试程序
- Unix Environment Programming Chapter 14 14.4 I/O Multiplexing
- TELNET协议相关RFC
- Unix Environment Programming Chapter 15 15.3 Functions popen and pclose
- unix环境编程 第十五章 15.10 POSIX信号量
- 主从postition变化无法锁定_Slave_IO_Running显示No_Slave_Sql_Running显示No---Mysql主从复制同步002
- [Halcon&几何] 直线的垂线与延长线的计算
- Demand side power load forecasting (Matlab code implementation)
- 自启服务mock联调跨域问题
猜你喜欢
随机推荐
basic operator
元组 字典 集合
Attentional Feature Fusion
学习NET-SNMP之一 ---------编译NET-SNMP程序。
unix环境编程 第十五章 15.6 XSI IPC
Electron application development best practices
TELNET协议相关RFC
antd表单
[贴装专题] 视觉贴装平台与贴装流程介绍
【原创】VMware Workstation实现Openwrt软路由功能,非ESXI,内容非常详细!
1002 写出这个数 (20 分)
函数二
认识
Win32控件--------------------WM_DRAWITEM消息测试程序
今天做了手机播放器的均衡器
【size_t是无符号整数 (-1 > 10) -> 1】
Nodejs服务端
[贴装专题] 贴装流程中涉及到的位置关系计算
libavcodec.dll导致游戏不能运行及explorer关闭
函数组件和类组件和dva视图更新问题