日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 的跨天查询,考勤跨天如何统计 - Oracle开发 - ITPUB论坛-中国专业的IT技术社区...

發布時間:2024/9/27 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 的跨天查询,考勤跨天如何统计 - Oracle开发 - ITPUB论坛-中国专业的IT技术社区... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本帖最后由 yaksha1 于 2020-9-11 17:29 編輯

請問下,目前正在統計每個人每天考勤數據是否正常,上班打一次卡,下班打一次卡,算是正常。打卡情況大致分兩種,一種是正常白班,朝九晚五,一種是跨天,晚上到第二天凌晨。我們有排班時間,比如

姓名? ?? ?? ? 排班開始日期? ?? ?? ???排班開始時間? ?? ?? ?? ?? ?? ?? ???排班結束日期? ?? ?排班結束時間? ? 上班時間? ?下班時間

裕民? ?? ?? ? 2020-08-01? ?? ?? ?? ?? ? 18:00:002020-08-02? ?? ?? ?06:00:00? ?? ?? ? 21:00:00? ?? ? 04:00

劉文? ?? ?? ? 2020-08-01? ?? ?? ?? ?? ? 06:00:00? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???2020-08-01? ?? ?? ?18:00:00? ?? ?? ?? ?? ?09:00:00? ?? ? 17:00:00

根據排班規則??裕民 這個人要在 2020-08-01 18:00:00 之后打卡 , 到第二天 2020-08-02 06:00:00 之前??打卡就算 是 同一天打卡 (算作 2020-08-01的打卡日期)

劉文? ?? ???這個人要在 2020-08-01 06:00:00??之后打卡 , 當天 2020-08-01 18:00:00之前打卡就算 同一天打卡

如果某個人的上班、下班打卡時間 在排班時間之內,且沒有遲到早退 (比如劉文,上班肯定不能遲于早上9:00, 17:00之前早退),就屬于正常考勤,設置為1 否則為0

測試數據如下

with??a??as (

select '裕民'??姓名,? ?'2020-07-31' 排班開始日期 , '18:00:00' 排班開始時間 ,??'2020-08-01'??排班結束日期,'06:00:00' 排班結束時間,'2020-07-31 22:00:00'工作安排開始時間,'2020-08-01 03:00:00'工作安排結束時間,'2020-07-31 05:00:00' 打卡開始時間 from dual? ?--7月30日上夜班一直到7月31日 上午打卡下班

union all

select '裕民'??姓名,? ?'2020-07-31' 排班開始日期 , '18:00:00' 排班開始時間 ,??'2020-08-01'??排班結束日期,'06:00:00' 排班結束時間,'2020-07-31 22:00:00'工作安排開始時間,'2020-08-01 03:00:00'工作安排結束時間,'2020-07-31 19:00:00' 打卡開始時間 from dual??--7月31日上班打卡

union all

select '裕民'??姓名,? ?'2020-08-01' 排班開始日期 , '18:00:00' 排班開始時間 ,??'2020-08-02'??排班結束日期,'06:00:00' 排班結束時間,'2020-07-31 22:00:00'工作安排開始時間,'2020-08-01 03:00:00'工作安排結束時間,'2020-08-01 05:00:00' 打卡開始時間 from dual??-- 7月31日上夜班一直到8月1日上午打卡下班

union all

select '裕民'??姓名,? ?'2020-08-01' 排班開始日期 , '18:00:00' 排班開始時間 ,??'2020-08-02'??排班結束日期,'06:00:00' 排班結束時間,'2020-07-31 22:00:00'工作安排開始時間,'2020-08-01 03:00:00'工作安排結束時間,'2020-08-01 19:00:00' 打卡開始時間 from dual? ?---8月1日打卡上班

union all

select '劉文'??姓名,? ?'2020-07-31' 排班開始日期 , '06:00:00' 排班開始時間 ,??'2020-07-31'? ?排班結束日期,'06:00:00' 排班結束時間,'2020-07-31 09:00:00'工作安排開始時間,'2020-07-31 17:00:00'工作安排結束時間,'2020-07-31 17:30:00' 打卡開始時間 from dual? ?--7月31日下班打卡

union all

select '劉文'??姓名,? ?'2020-08-01' 排班開始日期 ,'06:00:00' 排班開始時間 ,??'2020-08-01'??排班結束日期,'06:00:00' 排班結束時間,'2020-08-01 09:00:00'工作安排開始時間,'2020-08-01 17:00:00'工作安排結束時間,'2020-08-01 08:30:00' 打卡開始時間 from dual??--8月1日上班打卡

union all

select??'劉文'??姓名,? ?'2020-08-01' 排班開始日期 , '06:00:00'排班開始時間 ,??'2020-08-01'??排班結束日期,'06:00:00' 排班結束時間,'2020-08-01 09:00:00'工作安排開始時間,'2020-08-01 17:00:00'工作安排結束時間,'2020-08-01 17:30:00' 打卡開始時間 from dual? ?--8月1日下班打卡

)

select * from a

總結

以上是生活随笔為你收集整理的oracle 的跨天查询,考勤跨天如何统计 - Oracle开发 - ITPUB论坛-中国专业的IT技术社区...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。