Sql 如何在数据集中获取每小时的数据?

Sql 如何在数据集中获取每小时的数据?,sql,Sql,我试图获取每小时的数据,但在执行时,表中显示了当天的数据。每小时结果的IDC_YMD必须在表中,我不确定是否有正确的子字符串、开始、长度 SELECT EQP_ID, EQP_NAME, 'WorkPreparation' GUBUN,WorkPreparation CNT,SITE_CODE,GODS_CODE,STEP_NAME,IDC_YMD,IDC_SUMR_UNIT_CODE,MTBI,MTBA FROM ( SELECT CASE WHEN Work

我试图获取每小时的数据,但在执行时,表中显示了当天的数据。每小时结果的IDC_YMD必须在表中,我不确定是否有正确的子字符串、开始、长度

SELECT EQP_ID, EQP_NAME, 'WorkPreparation' GUBUN,WorkPreparation 
CNT,SITE_CODE,GODS_CODE,STEP_NAME,IDC_YMD,IDC_SUMR_UNIT_CODE,MTBI,MTBA      
FROM     
(     
SELECT CASE WHEN WorkPreparation = 0 THEN '-' ELSE EQP_ID END AS EQP_ID, CASE WHEN WorkPreparation = 
0 THEN '-' ELSE SUBSTR(EQP_NAME,1,4) END AS EQP_NAME, 
WorkPreparation,SITE_CODE,GODS_CODE,STEP_NAME,IDC_YMD,IDC_SUMR_UNIT_CODE,MTBI,MTBA        
FROM(     
SELECT EQP_ID, EVENT_COMMENT EQP_NAME,  SUM(WORK_PRE_CNT) WorkPreparation,  A.SITE_CODE     
 , A.GODS_CODE     
 , A.EES_STEP_ID  AS STEP_NAME     
 , TO_CHAR(TO_NUMBER(SUBSTR(A.IDC_YMD, 12, 2))) || '/' ||   TO_CHAR(TO_NUMBER(SUBSTR(A.IDC_YMD, 12, 
2)))  AS IDC_YMD     
 , 'D'                  AS IDC_SUMR_UNIT_CODE     
 , CASE WHEN (SUM(NVL(A.INTR_CNT, 0)) + SUM(NVL(A.BRDN_CNT, 0))) = 0     
        THEN ROUND(SUM(NVL(A.OPER_MOP, 0)),1)     
        ELSE ROUND(SUM(NVL(A.OPER_MOP, 0))  / (SUM(NVL(A.INTR_CNT, 0)) + SUM(NVL(A.BRDN_CNT, 0))) / 
60,1)     
   END AS MTBI     
 , CASE WHEN (SUM(NVL(A.INTR_CNT, 0)) + SUM(NVL(A.BRDN_CNT, 0)) + SUM(NVL(A.WORK_PRE_CNT, 0)) + 
SUM(NVL(A.PROD_CHANGE_CNT, 0)) + SUM(NVL(A.QUAL_EXATN_CNT, 0)) +     
              SUM(NVL(A.MTR_EXATN_CNT, 0)) + SUM(NVL(A.STEP_CHRC_LOSS_CNT, 0)) + 
SUM(NVL(A.IDLE_3MN_UND_EXCPT_CNT, 0))) = 0     
        THEN 0     
        ELSE ROUND(SUM(NVL(A.OPER_MOP, 0))  / (SUM(NVL(A.INTR_CNT, 0)) + SUM(NVL(A.BRDN_CNT, 0)) + 
SUM(NVL(A.WORK_PRE_CNT, 0)) + SUM(NVL(A.PROD_CHANGE_CNT, 0)) + SUM(NVL(A.QUAL_EXATN_CNT, 0)) +     
                                         SUM(NVL(A.MTR_EXATN_CNT, 0)) + SUM(NVL(A.STEP_CHRC_LOSS_CNT, 
0)) + SUM(NVL(A.IDLE_3MN_UND_EXCPT_CNT, 0))) / 60,1)     
   END AS MTBA       
FROM IFR_EES_PCL A    
WHERE SITE_CODE = 'E502AA'      
AND GODS_CODE = 'N5210'     
AND MTBI_MNG_YN = 'Y'     
AND EES_STEP_ID = 'TP'          
AND A.IDC_YMD BETWEEN TO_CHAR(SYSDATE-6, 'YYYYMMDDHH') AND TO_CHAR(SYSDATE, 'YYYYMMDD')       
GROUP BY EQP_ID, EVENT_COMMENT,A.SITE_CODE     
    , A.GODS_CODE     
    ,A.EQP_TYPE      
    , A.EES_STEP_ID     
    ,  TO_CHAR(TO_NUMBER(SUBSTR(A.IDC_YMD, 12, 2))) 
, A.IDC_YMD      
ORDER BY A.IDC_YMD, MTBI DESC--TO_CHAR(TO_NUMBER(SUBSTR(A.IDC_YMD, 12, 2)))    
))     
WHERE ROWNUM <= 10     
and EQP_NAME  like 'TA%' 

谢谢大家!

A.IDC_YMD是什么样子的?A.IDC_YMD=20190418,由年、月、日组成