oracle处理考勤时间,拆分考勤时间段的sql语句
最近一直在用mysql数据库做云项目,有段时间没有接触oracle了,昨天有朋友叫我帮忙用oracle处理一个考勤记录的需求,我在考虑如何尽量精简实现上面花了一些时间。于是把这个实现做个总结。
需求如下:
- rownum为奇数的为进厂时间,偶数的为离场时间
- 第一个奇数行的时间被第一个偶数行相减,以此类推
- 将上面两步产生的时间结果集相加得出总时间作为当天考勤时间
最终能和别的表联合起来形成这样的展示:
|
人员 |
日期 |
工时 |
入厂时间 |
出厂时间 |
|
张三 |
2015/6/18 |
9小时30分钟 |
8:00:00 |
10:30:00 |
|
11:00:00 |
12:30:00 |
|||
|
13:30:00 |
17:30:00 |
|||
|
18:00:00 |
18:30:00 |
|||
|
19:00:00 |
19:30:00 |
|||
|
20:00:00 |
20:30:00 |
|||
|
李四 |
… |
… |
.. |
.. |
要我实现的是如何把时间一列的数据拆分成为两列来显示:
原来一列是这样的:
aaarticlea/png;base64,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" alt="" />
要实现的拆分的效果是这样的:
aaarticlea/png;base64,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" alt="" />
实现方式如下:
首先创建一个时间表(当然这里我关注的只是scan_time这个字段,其他字段不用理会):
create table CMIS_PERSON_FI_DETAIL_TB
(
detail_id NUMBER(20) not null,
scan_time DATE,
person_fk_id NUMBER(20) not null
)
其次,插入数据,插入数据之后的效果是这样的:
aaarticlea/png;base64,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" alt="" />
最后编写sql进行实现,实现的sql语句如下所示:
select max(a) in_time, max(b) out_time
from (select decode(mod(rownum, 2), 1, scan_time) a,
decode(mod(rownum, 2), 0, scan_time) b,
round(rownum / 2) c
from CMIS_PERSON_FI_DETAIL_TB)
group by c
order by c;
运行sql,得到了想要的效果,如下所示:
aaarticlea/png;base64,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" alt="" />
oracle处理考勤时间,拆分考勤时间段的sql语句的更多相关文章
- 转 oracle数据库更新时间字段数据时的sql语句
https://www.cnblogs.com/sun-rain/p/4921512.html ---Oracle数据库-时间函数 ---格式化时间插入update t_user u set u.mo ...
- mysql时间格式化,按时间段查询MYSQL语句
描述:有一个会员表,有个birthday字段,值为'YYYY-MM-DD'格式,现在要查询一个时间段内过生日的会员,比如'06-03'到'07-08'这个时间段内所有过生日的会员. SQL语句: Se ...
- Oracle行转列、列转行的Sql语句总结
多行转字符串 这个比较简单,用||或concat函数可以实现 SQL Code 12 select concat(id,username) str from app_userselect i ...
- Oracle行转列、列转行的Sql语句总结(转)
多行转字符串 这个比较简单,用||或concat函数可以实现 select concat(id,username) str from app_userselect id||username str f ...
- Oracle的创建表和创建约束的Sql语句
Oracle的创建表和创建约束的Sql语法 1.创建表的语句 ---1.创建模拟的数据表 --- --1.1.创建学生表Student create table Student( StuId NUMB ...
- oracle之 v$sql_monitor 监视正在运行的SQL语句的统计信息
11g中引入了新的动态性能视图V$SQL_MONITOR,该视图用以显示Oracle监视的SQL语句信息.SQL监视会对那些并行执行或者消耗5秒以上cpu时间或I/O时间的SQL语句自动启动,同时在V ...
- Ora中select某时间段记录sql语句
要查找某时间段的记录,例如查找2013-11-1到2013-11-30的记录. ' group by user_name, user_id 注意:SQL语句中含有sum累加函数,末尾要加group b ...
- oracle中用rownum分页并排序的查询SQL语句
oracle的sql语句中没有limit,limit是mysql中特有的,在oracle中可用rownum来表示,用于查询结果中的前N行数据. 如要查询emp表中的前5行数据,可用如下语句: sele ...
- Oracle中查询和定位数据库问题的SQL语句
--1)查询和定位数据库问题的SQL语句--Oracle常用性能监控SQL语句.sql --1查询锁表信息 select vp.SPID, vs.P1, vs.P1RAW, vs.P2, vs.EVE ...
随机推荐
- 调用gluNurbsCurve绘制圆弧
<OpenGL编程指南>第12章第3小结专门介绍调用GLU绘制NURBS曲线或曲面,很可惜的是并未给出绘制圆弧的例子.网上可以找到很多绘制整个园的例子,却没圆弧例子,自己瞎折腾了2个礼拜, ...
- 微信和WeChat的合并月活跃账户达6.97亿
腾讯最新财报显示,微信和WeChat的合并月活跃账户于2015年底达6.97亿,同比增长39%.2016年初春节假期期间,通过微信支付收发的红包数量仅在6天内就超过320亿,同比增长9倍. 腾讯网络广 ...
- IP欺骗使用
一.为什么要设置IP欺骗 1. 当某个IP的访问过于频繁,或者访问量过大时,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果. 2. 某些服务器配置了负载均衡,使 ...
- RTX登录其他系统
前台: <html> <head> <title>签名验证</title> <meta http-equiv="Content-Lang ...
- Maven无法引入自定义构件依赖的解决方案
一般情况下,使用如下命令即可将自定义构件安装到本地仓库,供其他项目使用. mvn clean install 但是也有例外,今天我就分享一下我遇到问题,供相同遭遇的同学参考下. 我使用了父POM统一管 ...
- javascript输出AscII码扩展集中的字符
function test(){ var c=""; for(var i=1;i<65536;i++){ if((i%10)==0){ c+=i+':\t'+String.f ...
- Android之Tab类总结
本文主要包括以下Tab类实现方式 FragmentTabHost+Fragment实现 传统的ViewPager实现 FragmentManager+Fragment实现 ViewPager+Frag ...
- 自定义viewgroup实现ArcMenu
最终效果如下 实现思路 通过效果图,会有几个问题: a.动画效果如何实现 可以看出动画是从顶点外外发射的,可能有人说,那还不简单,默认元素都在定点位置,然后TraslateAnimation就好了:这 ...
- javamail实现邮箱验证功能
javamail是基于SMTP协议和POP3协议的邮件发送与接收系统,在用户注册与登陆的过程中,常需要用到邮箱验证功能,下面是基于javamail的一个简单实现 用户注册后通过servlet得到邮箱地 ...
- Rap 安装和配置
本机环境 系统:CentOS 6.7 64 位 MySQL 5.6 JDK 1.8 Tomcat 8 Redis 3.0.7 Rap 0.14.1 Rap 说明 官网:https://github.c ...