Oracle中的内置函数

Oracle中的函数

在SQL语句中有两种函数,一种是内置函数,另一种是自定义函数

函数有单行函数和多行函数之分

集合函数:

使用集合函数:

  1. Union,并集(去重) 对两个结果集进行并集操作,不包括重复行同时进行默认规则的排序;
  2. Union All,全集(不去重) 对两个结果集进行并集操作,包括重复行,不重复行,不进行排序;
  3. Intersect, 交集(找出重复) 对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
  4. Minus, 差集(减去重复) 对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序;
举例: 查询30 部门的员工或者薪资>2000的部门编号
select * from emp where deptno = 30 -- 不能有 ; 号 , ; 号代码这条命令结束
Union
select * from emp where sal > 2000;
上面的代码就是并集,查询所有部门的编号和薪资大于2000,然后并集就可以得到结果,
注意: 在SQL语句中 ; 是一条命令的结束语句,在使用集合函数时要注意

下面的代码就是全集,所有结果去全部保留

select * from emp where deptno = 30
Union All
select * from emp where sal > 2000;

下面的代码就是显示差集,减去重复

-查询不存在员工的部门的部门编号
select deptno from dept
Minus
select distinct deptno from emp;

在查询数据中我们会用到模糊匹配 其中 like 后面跟上数据,就是模糊匹配 like后面加上精确数据,相当于精确匹配

% 任意个字符 _ 一个任意字符

转义字符需要 escape(’ ') 括号中添加符号

  • 单行函数: 一条记录返回一个结果

日期函数

  • sysdate/current_date 以date类型返回当前的日期
  • add_months(d,x) 返回加上x月后的日期d的值
  • LAST_DAY(d) 返回的所在月份的最后一天
  • months_between(date1,date2) 返回date1 和 date2 之间月的数目
  • next_day(sysdate,‘星期一’) 下周星期一

1.当前时间

select current_date from dual where 1 = 1;
select sysdate from dual where 1 = 1;

2.修改日期(天数+ -)

--三天后的时刻
--加减日期
select sysdate+3 from dual;

3.修改月份

--add_months(日期对象,月份数)
--查询所有员工的试用期期到期(转正的日期) 3个月试用期
select ename,hiredate,add_months(hiredate,3) from emp;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值