Oracle函数

字符函数

 select  empno,lower(ename),job,mgr,sal,comm from emp

在这里插入图片描述
数值函数

伪表:真实存在的为了验证数值运算临时存在的表,表名是固定的叫dual

 select abs(-1),ceil(2.2),power(2,4),mod(10,3) from dual

在这里插入图片描述

日期函数

两个日期之间的月份数量

 select months_between('07-7月-2020','01-5月-1990')from dual

增加月份后的日期

 select add_months('24-5月-2020',1.5)from dual

离本时间最近的星期x的日期

 select next_day('24-5月-2020','星期六')from dual

返回当月最后一天日期

  select last_day('24-5月-2020')from dual

在这里插入图片描述
多行函数
单行函数和多行函数不能混用,多行函数只有一个值
单行函数是单行操作,多个结果,多行函数是多行比较,一个结果

 select max(sal) from emp
 select sum(comm)from emp
 select avg(comm)from emp
 select min(comm)from emp
 select count(*)from emp--这样可以查到所有的数据数量
 select count(*)from emp--查询字段值的数量
 select count(distinct job)from emp--工作种类数量

转换函数

字符串和数字转换

 select to_number('123')+2 from dual
 select to_char(123) from dual
 --9代表数字占位,例如999,999,999按照三个一组的形式输出
 --L表示人民币符号 ¥表示美元
 --如果以0表示占位符,0会进行补位,0的个数必须要打鱼前面数字的位数,否则报错
 select to_char(123456789,'L999,999,999') from dual
 

在这里插入图片描述

以上to_number 和 to_char 之间的转换其实在Oracle里面是隐式自动转换,所以并不常用

日期和字符串转换

--指定转换格式
 select to_date('2020-5-24','yyyy-mm-dd')from dual
 --默认格式
 select to_date('24-5月-2020')from dual
--默认格式
 select to_char(hiredate)from emp
 --指定转换格式
 select to_char(hiredate,'yyyy"年"MM"月"dd"日"')from emp
  select to_char(hiredate,'dd "日" MM "月" yyyy "年"')from emp

其他函数

nvl
问题导入:

  select ename,sal+comm from emp 

由于有的人comm是空的,导致整个之和都为空了,我们希望如果奖金为空,薪资应该等于工资
在这里插入图片描述

这里nvl的作用是如果comm的值为空,这个表达式的值就是0

  select ename,sal+nvl(comm,0) from emp 

在这里插入图片描述

nvl2

  select ename,nvl2(comm,comm+sal,sal)from emp

如果comm为空,就检查comm+sal,如果这个也为空,就返回sal

decode

 select ename,job,decode(job,'MANAGER','经理','PRESIDENT','董事长','SALESMAN','销售','普通员工')from emp 

相当于一种if else规则的注释吧,前面都有条件,比如’MANAGER’,最后一个不需要条件,就是剩下的全部注释为最后一个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值