下面我有一个Oracle查询:Oracle查询Where条件基础上的系统时间
select ltrim(ROUND((1-n/c)*100) || '%') as TOTAL
from (select count(*) c
from WA_SEW_TBL_EMP_INFO
WHERE SHIFT = 'Morning')
, (SELECT COUNT(*) n
FROM (SELECT S.BADGEID_FK
FROM WA_SEW_TBL_EMP_INFO S
, WA_GA_TBL_EMPLOYEES E
WHERE S.BADGEID_FK = E.BADGEID
AND S.STATUS = 'Attend'
AND S.SHIFT = 'Morning'
AND S.BADGEID_FK NOT IN (SELECT EMPID
FROM WA_SEW_TBL_RESULTS
WHERE SYSTEM_DATE between to_date ('2017-08-31 07:00', 'YYYY-MM-DD HH24:MI')
and to_date ('2017-08-31 19:29', 'YYYY-MM-DD HH24:MI')
)
)
)
转变有两个类型:
Night
Morning
现在我想Oracle查询检测,如果系统的时间从08:00
直到19:29
然后设置为早晨,否则晚上。
意味着我要WHERE SHIFT = 'system time condition from
08:00 until
19:29 then set shift to be Morning, else Night'
是否可以这样做呢?
没有我们比深层嵌套的查询更好,没有解释表的目的,也没有样本数据。 – APC