SQL里写,再把数据集拉上去,我这星期天加了个中班,看需求更改
WITH HHHH AS(
SELECT DECODE(TO_CHAR((SYSDATE),'D')-1,'0','7',TO_CHAR((SYSDATE),'D')-1) AS DAYNUM FROM DUAL
)
SELECT A.*,SYSDATE,
CASE WHEN(DAYNUM<>7 AND SYSDATE>(TRUNC(SYSDATE)+8/24) AND SYSDATE<(TRUNC(SYSDATE)+20/24)) THEN '白班'
WHEN(DAYNUM<>7 AND SYSDATE>(TRUNC(SYSDATE)+20/24) AND SYSDATE<(TRUNC(SYSDATE+1)+8/24)) THEN '夜班'
WHEN(DAYNUM=7 AND SYSDATE>(TRUNC(SYSDATE)+8/24) AND SYSDATE<(TRUNC(SYSDATE)+16/24)) THEN '白班'
WHEN(DAYNUM=7 AND SYSDATE>(TRUNC(SYSDATE)+16/24) AND SYSDATE<(TRUNC(SYSDATE)+24/24)) THEN '中班'
WHEN(DAYNUM=7 AND SYSDATE>(TRUNC(SYSDATE)+24/24) AND SYSDATE<(TRUNC(SYSDATE+1)+8/24)) THEN '夜班'
END TYPE
FROM HHHH A