Oracle数据库中的函数
2019-05-25 17:25
1991 查看
注:dual为虚表,没有实际意义,只是为了补全sql语句
单行函数:作用于一行,返回一个值
--字符函数,小写变大写 select upper('yes') from dual;
--字符函数,大写变小写 select lower('YES') from dual;
--数值函数 select round(26.18) from dual;
四舍五入,后面的参数表示保留的小数位数,也可以是负数(就是到整数部分了)
–数值函数
select round(26.18,1) from dual;
--数值函数 select round(26.14,1) from dual;
--直接截取保留一位小数 select trunc(56.16,1) from dual;
--求余数 select mod(10,3) from dual;
日期函数(可以直接加减,得出的是天)
--日期函数 --查出EMP表中所有员工入职距离现在多少天 select sysdate-e.hiredate from emp e;
--算出明天此刻,可以直接与数字加减 select sysdate+1 from dual;
--查出EMP表中所有员工入职距离现在几月 select months_between(sysdate,e.hiredate) from emp e;
年是没有这个函数的,所以年不能这样用的
--查出EMP表中所有员工入职距离现在几年 select months_between(sysdate,e.hiredate)/12 from emp e;
每年固定有12个月
–查出EMP表中所有员工入职距离现在多少周
select (sysdate-e.hiredate)/7 from emp e;
--转换函数【日期转字符串】【取出之后是字符串】 select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual;
select to_char(sysdate,'fm yyyy-mm-dd hh:mi:ss') from dual;
select to_char(sysdate,'fm yyyy-mm-dd hh24:mi:ss') from dual;
--字符串转日期【取出之后是日期类型】 select to_date('2019-5-25 17:14:38','fm yyyy-mm-dd hh24:mi:ss') from dual;
通用函数
--算出EMP表中所有员工的年薪记得加上奖金 --奖金里面有null值,如果null值和任意数字做算数运算,结果都是null select e.sal*12+nvl(e.comm,0) from emp e;
nvl(e.comm,0)表示如果e.comm为null就用后面的值
多行函数
EMP表中字段
--多行函数【聚合函数】:作用域多行,返回一个值 --count(1)就相当于count(empno),此外count(*)底层走的还是count(1) select count(1) from emp; select sum(sal) from emp; select max(sal) from emp; select min(sal) from emp; select avg(sal) from emp;
结果分别是:
相关文章推荐
- Oracle数据库入门——sql语句和函数详解
- oracle数据库对象第一部分(表,视图,索引,函数,序列,存储过程)
- Oracle数据库(触发器、存储过程、函数、包)
- Oracle数据库的常用函数列表快速查
- 43.Oracle数据库SQL开发之 日期和时间的存储与处理——使用时间值函数
- oracle数据库--关于使用分组函数以及group by的注意点
- 60.Oracle数据库SQL开发之 高级查询——使用分析函数之评级函数
- Oracle数据库(常用的函数)
- Oracle数据库实用函数
- oracle数据库中常用的函数
- oracle数据库生成随机数的函数
- oracle数据库之存储函数和过程
- oracle数据库中的函数和对应的表关系
- Oracle数据库之视图、索引、存储过程、触发器、事务、函数
- Oracle数据库中的函数,包和触发器
- 在SSH中通过spring的jdbctemplate接口调用oracle数据库的函数与存储过程
- Oracle数据库Decode()函数的使用方法
- Oracle数据库(四)——函数上
- 61.Oracle数据库SQL开发之 高级查询——使用分析函数之反百分点函数
- 制作报表或数据统计之ORACLE数据库函数