2014-03-31 4 views
0

안녕하세요 지금은 tran_date가 데이터베이스에 날짜 시간 형식으로되어 있으므로 쿼리에 값을 추가하려면이 같은 쿼리가 월 및 연도에 추가하기 날짜 형식으로 값을 추가하지만 날짜 형식 :오라클 날짜 함수는

select TRAN_DATE, 
     trunc(nvl(SUM(SALES_VALUE), 0) + nvl(sum(total_sales), 0) - 
      nvl(sum(net_sales), 0) + nvl(sum(discount), 0)) Sale 
    from OUTLET_PAYMODE_REPORT_FACT A, OUTLET_DETAILS B 
WHERE A.OUTLET_ID = B.OUTLET_ID 
    and SALES_VALUE > 0 
    and to_date(TRAN_DATE, 'yyyy') = '2013' 
    AND to_date(TRAN_DATE, 'MON') = 'APR' 
    OR to_date(TRAN_DATE, 'yyyy') = '2013' 
    AND to_date(TRAN_DATE, 'MON') = 'MAR' 
GROUP BY TRAN_DATE 

쿼리 2 년 월 통과 ..how 작동하지 : 작업을하지만 옵션의

select TRAN_DATE, 
     trunc(nvl(SUM(SALES_VALUE), 0) + nvl(sum(total_sales), 0) - 
      nvl(sum(net_sales), 0) + nvl(sum(discount), 0)) Sale 
    from OUTLET_PAYMODE_REPORT_FACT A, OUTLET_DETAILS B 
WHERE A.OUTLET_ID = B.OUTLET_ID 
    and SALES_VALUE > 0 
    and (to_char(TRAN_DATE, 'yyyy') = '2013' AND 
     to_char(TRAN_DATE, 'MON') = 'APR') 
    OR (to_char(TRAN_DATE, 'yyyy') = '2013' AND 
     to_char(TRAN_DATE, 'MON') = 'MAR') 
GROUP BY TRAN_DATE 

답변

0

하나는 문자열 형식입니다사용조건 : DATETIME 데이터 형식 열 :

select TRAN_DATE, 
     trunc(nvl(SUM(SALES_VALUE), 0) + nvl(sum(total_sales), 0) - 
      nvl(sum(net_sales), 0) + nvl(sum(discount), 0)) Sale 
    from OUTLET_PAYMODE_REPORT_FACT A, OUTLET_DETAILS B 
WHERE A.OUTLET_ID = B.OUTLET_ID 
    and SALES_VALUE > 0 
    and TRAN_DATE between to_date('01.03.2013', 'dd.mm.yyyy') and 
         to_date('30.04.2013', 'dd.mm.yyyy') 
GROUP BY TRAN_DATE;