oracle 交集怎样查找两个数据的交集

在ORalce 中,怎么判断两个时间段之间是否有交集, 编写的一个函数._Oracle教程_
在ORalce 中,怎么判断两个时间段之间是否有交集, 编写的一个函数.
来源:人气:6722
判定2个时间段是否有交集的函数,开始是在我计算考勤的时候有用过,后来发现用到的地方越来越多,& 丢个砖头 9i 下通过.两个时间段 之间是否有交集& intime---outtimefromdate--todate 假如有交集,则返回1,否则返回0
*/create or replace function func_IsTimeCross(intime in date, outtime in date,fromdate date , todate date ) return number isRbeginResult :=0;&if (fromdate&intime) then --请假的开始时间&当天应上班的时间&&&&&&&&&&&&&&&&&&&&&& if (todate&=outtime) then --请假的结束时间&=当天应下班时间 说明有交集&&&&&&&&&&&&&&&&&&&&& Result :=1;&&&&&&&&&&&&&&&&&&&&&&&&if (fromdate&=intime) then -- 假如请假开始时间&应上班时间,只要在下班时间之前,则也说明有集&&&&&&&&&&&&&&&&&&&&&& if (fromdate&=outtime) then&&&&&&&&&&&&&&&&&&&&&& Result :=1; &&&&&&&&&&&&&&&&&&&&&&& & return(Result);end func_IsTimeC
优质网站模板服务热线:400-702-1168 ()
您好,访客
||||||||||
Oracle中对两个数据表交集的查询
发布时间: 08:00:00&&来源:Yesky&&作者:耿俊燕 张连杰&&点击:577
&[]&&[]&&[]&
以上内容由
搜集整理,如转载请注明原文出处,并保留这一部分内容。
  “华夏名网”
是成都飞数科技有限公司的网络服务品牌,专业经营虚拟主机,域名注册,VPS,服务器租用业务。公司创建于2002年,经过6年的高速发展,“华夏名网”已经成为我国一家知名的互联网服务提供商,被国外权威机构评价为十大IDC服务商之一。
华夏名网网址导航:
上一篇:下一篇:
(4920次点击) (2774次点击) (4166次点击) (2800次点击) (2382次点击) (3737次点击) (3575次点击) (2363次点击) (2531次点击) (2443次点击)
(3423次点击) (3239次点击) (3250次点击) (4000次点击) (2419次点击) (2328次点击) (3219次点击) (3629次点击) (2358次点击) (2344次点击)
&2002- 飞数科技 版权所有
电话总机:028-91 94
公司地址:四川省成都市青龙街51号倍特康派大厦10楼5号包含与不包含有交集怎么做?-Oracle/基础和管理-oracle-电脑编程网包含与不包含有交集怎么做?-Oracle/基础和管理作者:wch_212 和相关&&有两张字段不完全相同的表A和B,相同的字段是 ID 和 NAME 怎么能查询出来表B比表A少的记录。------回答---------------其他回答(8分)---------SQL code
-- 在表A中存在,在表B中不存在的记录? 是这个意思吗?
SELECT A.ID, A.NAME
FROM A
MINUS
SELECT B.ID, B.NAME
FROM B;
------其他回答(8分)---------intersect运算返回查询结果中相同的部分minus运算返回在第一个查询结果中与第二个查询结果不相同的那部分行记录------其他回答(8分)---------跟字段名没关系,字段数量相同及类型对应就行了------其他回答(8分)---------&
& 使用minus运算------其他回答(8分)---------intersect运算返回查询结果中相同的部分minus运算返回在第一个查询结果中与第二个查询结果不相同的那部分行记录相关资料:|||||||包含与不包含有交集怎么做?-Oracle/基础和管理来源网络,如有侵权请告知,即处理!编程Tags:                &                    博客访问: 456290
博文数量: 918
博客积分: 5000
博客等级: 大校
技术积分: 5020
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
  关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大、灵活和复杂的系统,据说,在使用oracle时应有这样的思想,那就是在SQL中几乎可以实现任何一种想法。  下面向大家介绍使用SQL查两个数据表查询的相同数据的方法,笔者感到这两种方法执行效率高、使用方便。  第一种方法:利用操作符intersect  intersect操作符用来合并两个查询,返回两个查询中都存在的记录,即返回两个查询结果的交集,前提是两个查询的列的数量和数据类型必须完全相同。  举例说明:  表A的数据结构:      表B的数据结构:      表A的数据为:  ('1101 ','韩甲'),('1102 ','丁乙')  表B的数据为:  ('1101 ','韩甲',99),('1102 ','丁乙',89),('1103 ','徐静',94)  在oracle中运行以下查询,图1显示了这个查询的结果:  SQL>select code, name from A  intersect select student_code,student_name from B;       图1使用intersect操作符查询的结果   第二种方法: in子句  in子句可以在子查询中为where子句计算所得的值创建一个列表。这种方法与前一种方法有所不同的是,前一种方法比较多列但只使用一个intersect就行了,而一个in子句用来比较两个子查询的一列,比较几列就要使用几个in子句。下面举例说明如何取得两个查询的交集。   仍以A和B两张数据表为例,在oracle中运行以下查询,图2显示了这个查询的结果:  SQL>select code,name from A  where A.code in   (select student_code from B)  and A.name in  (select student_name from B)  order by A.   查询结果如图2所示。     图2使用in子句查询的结果   以上为笔者使用oracle7.3的体会,如有不当之处,请不吝赐教。            
【责编:admin】
--------------------next---------------------
阅读(159) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。[转载]oracle&中&取两个表的交集&差集的问题
1、intersect运算
返回查询结果中相同的部分既他们的交集
SQL& select * from abc
& 2& intersect
& 3& select * from abc2 ;
2、minus运算
返回在第一个查询结果中与第二个查询结果不相同的那部分行记录,
即两个结果的差集
SQL& select * from abc2
& 2& minus
& 3& select *
3、Union-Union all
(1)UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果
&& (2)UNION
ALL只是简单的将两个结果合并后就返回。如果返回的两个结果集中有重复的数据,返回的结果集就会包含重复的数据
&& 注:从效率上说,UNION
ALL要比UNION快很多,如果可以确认合并的两个结果集中不包含重复的数据的话,就使用UNION ALL
使用 UNION 组合查询的结果集有两个最基本的规则:
(1)所有查询中的列数和列的顺序必须相同。
(2)数据类型必须兼容
SQL& select d.code,d.name from abc d
& 2& union
& 3& select e.code,e.name from
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/adwfcu/archive//3336490.aspx
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 oracle 取交集 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信