新聞中心
這篇文章主要介紹android如何實(shí)現(xiàn)固定時(shí)間段內(nèi)的工作時(shí)間求和,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了怒江州免費(fèi)建站歡迎大家使用!
最近碰到了兩次這種情況,類(lèi)似于使用打卡時(shí)間求一段時(shí)間內(nèi)的工作時(shí)間之和,給出的表數(shù)據(jù)大致是這樣的
ID:車(chē)間ID
gid:設(shè)備id
ACTIVITY:類(lèi)型 ,有兩種:in 開(kāi)啟, out 關(guān)閉
時(shí)間:?jiǎn)?dòng)或者關(guān)閉的時(shí)間點(diǎn)
現(xiàn)在的要求是輸入一個(gè)開(kāi)始時(shí)間 和一個(gè)結(jié)束時(shí)間 求每臺(tái)設(shè)備(同一車(chē)間的同一設(shè)備)的在此范圍內(nèi)的工作時(shí)間。
異常數(shù)據(jù)處理:
1.重復(fù)數(shù)據(jù)需要去重
2.同一臺(tái)設(shè)備連續(xù)的in 需要取最后一個(gè)
3.連續(xù)的out需要取第一個(gè)
4.如果一個(gè)時(shí)間段的開(kāi)始時(shí)間小于輸入的開(kāi)始時(shí)間,則按照輸入開(kāi)始時(shí)間計(jì)算
5.如果一個(gè)時(shí)間段的結(jié)束時(shí)間大于輸入的結(jié)束時(shí)間,則按照輸入結(jié)束時(shí)間計(jì)算
上面的表輸入
最終得到的結(jié)果是
大家可以試試~
數(shù)據(jù)在下方:
CREATE TABLE "SYSTEM"."AAREPORT" (
"ID" VARCHAR2(255 BYTE) ,
"ACTIVITY" VARCHAR2(255 BYTE) ,
"TXNTIMESTAMP" DATE ,
"GID" VARCHAR2(255 BYTE)
)
TABLESPACE "SYSTEM"
LOGGING
NOCOMPRESS
PCTFREE 10
INITRANS 1
STORAGE (
INITIAL 65536
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS 2147483645
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
)
PARALLEL 1
NOCACHE
DISABLE ROW MOVEMENT
;
-- ----------------------------
-- Records of AAREPORT
-- ----------------------------
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('1', 'in', TO_DATE('2020-07-15 08:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('1', 'out', TO_DATE('2020-07-16 03:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('2', 'in', TO_DATE('2020-07-15 08:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'b');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('3', 'in', TO_DATE('2020-07-15 10:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('3', 'out', TO_DATE('2020-07-16 02:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('3', 'in', TO_DATE('2020-07-16 10:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('4', 'in', TO_DATE('2020-07-16 01:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('4', 'out', TO_DATE('2020-07-16 02:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('4', 'in', TO_DATE('2020-07-16 09:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('4', 'out', TO_DATE('2020-07-17 21:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('1', 'in', TO_DATE('2020-07-15 07:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'b');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('1', 'out', TO_DATE('2020-07-16 04:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'b');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('3', 'in', TO_DATE('2020-07-18 12:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'b');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('3', 'in', TO_DATE('2020-07-17 08:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'b');
INSERT INTO "SYSTEM"."AAREPORT" VALUES ('3', 'out', TO_DATE('2020-07-17 18:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'b');
以上是“android如何實(shí)現(xiàn)固定時(shí)間段內(nèi)的工作時(shí)間求和”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
標(biāo)題名稱(chēng):android如何實(shí)現(xiàn)固定時(shí)間段內(nèi)的工作時(shí)間求和
鏈接URL:http://fisionsoft.com.cn/article/phojpi.html