如何在早上8点30分,早上8点半到9点以及早上9点之后获得员​​工打卡数据

时间:2018-05-15 11:50:04

标签: oracle oracle11g

如何在早上8点30分,早上8点半到9点以及上午9点之后获得员​​工打卡数据

return Publish-Infrastructure `
            -settingsFileName $settingsFileName `
            -armDeploymentTemplateFile $armDeploymentTemplateFile

1 个答案:

答案 0 :(得分:1)

类似的东西:

SELECT              -- You don't need both DISTINCT and GROUP BY
       emp.emc_name, 
       COUNT(
         CASE
         WHEN SAD_DATE <  TRUNC( SAD_DATE ) + INTERVAL '08:30' HOUR TO MINUTE
         THEN 1
         END
       ) "Before8.30am",
       COUNT(
         CASE
         WHEN SAD_DATE >= TRUNC( SAD_DATE ) + INTERVAL '08:30' HOUR TO MINUTE
         AND  SAD_DATE <  TRUNC( SAD_DATE ) + INTERVAL '09:00' HOUR TO MINUTE
         THEN 1
         END
       ) "8.30amTo9am"
       COUNT(
         CASE
         WHEN SAD_DATE >= TRUNC( SAD_DATE ) + INTERVAL '09:00' HOUR TO MINUTE
         THEN 1
         END
       ) "After9"
from   Shift s
       INNER JOIN emply emp
       ON ( s.EM_CODE = emp.EM_CODE ) -- Use ANSI Joins not legacy Oracle joins
where  emp.DP_CODE in  ('C019')
and    s.SAC_INOUT = 1
and    s.SAD_DATE between DATE '2018-03-01' and DATE '2018-03-31'
                          -- Use a date literal and not implicit conversion of a string
group by emp.EMC_NAME  order by 1