
單位考勤表如上圖,包含姓名、簽到日期、簽到時間和簽退時間。 需求是 若當日晚8:00后簽退,則第二天可以順延晚到不算遲到,但不超過中午13:00。比如昨天晚上21:55分簽退,則今天早上10:55前到單位不計入遲到。想根據上述業務邏輯修正原始考勤表,但不知道怎么實作一張表里多個相關記錄的修改,請教各位高手指點,謝謝。
uj5u.com熱心網友回復:
這個碰到節假日、周末是如何出來的,比如:周五晚上8:00后簽退,哪下周一是否可以晚到?uj5u.com熱心網友回復:
還有請假和忘記簽退等情況是如何考慮的uj5u.com熱心網友回復:
能不能 加個附表搞搞uj5u.com熱心網友回復:
對于周五晚簽退的情況,后一天需要正常簽到,規則只考慮作業日的情況。對于請假,出差等,原則上是應該只修正第二天在13點前有簽到記錄的。uj5u.com熱心網友回復:
既然時考勤,那么資料量肯定不大首先使用row_number根據 日期和姓名 進行排序 , 同時計算出 第二天的考勤范圍,然后再根據 lead 函式 進行計算 就可以得到 你要的遲到 早退資訊
uj5u.com熱心網友回復:
利用lag或者lead,order by checkdate,然后根據name來分組,能比較容易實作該需求轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/68225.html
標籤:開發
上一篇:關于ORACLE自帶包和包體
下一篇:Oracle資料轉移的問題
