본문 바로가기

스터디/Oracle30

[Oracle/오라클] ROLLUP 소계 / 총계 표현하기 SELECT * FROM TB_POINT; SELECT NVL(CUSTOMER_CD,'총합') AS customer_cd, TO_CHAR(SUM(POINT),'999,999') AS 포인트합 FROM TB_POINT GROUP BY ROLLUP(CUSTOMER_CD) ORDER BY customer_cd; SELECT NVL(CUSTOMER_CD, '소계') 고객번호, TO_CHAR(SUM(POINT), '999,999') 포인트합, COUNT(*) 인원 FROM TB_POINT GROUP BY ROLLUP(CUSTOMER_CD); SELECT NVL(SALES_DT, '총합') AS SALES_DT, CASE WHEN SALES_DT IS NOT NULL AND PRODUCT_NM IS NULL THE.. 2021. 7. 16.
[Oracle/오라클] ADD_MONTHS, MONTH_BETWEEN ADD_MONTHS 지정일 기준 개월 수 추가또는 감소 계산 SELECT SYSDATE, ADD_MONTHS(SYSDATE, -3) AS "3_BF_MON", ADD_MONTHS(SYSDATE, 5) AS "5_AF_MON" FROM DUAL; MONTH_BETWEEN 기간을 월 기준으로 계산 SELECT SYSDATE, ADD_MONTHS(SYSDATE, -3) AS "3_BF_MON", ROUND(MONTHS_BETWEEN(ADD_MONTHS(SYSDATE, -3), SYSDATE), 2) MONTH_TERM, TO_DATE('20220408', 'YYYYMMDD') AS "STR_DATE", ROUND(MONTHS_BETWEEN(TO_DATE('20220408', 'YYYYMMDD'), SYSDAT.. 2021. 7. 11.
[Oracle/오라클] LAST_DAY 월의 마지막 날 구하기 select substr(S1.DATE2021, 1, 6) AS MONTH2021, TO_CHAR(LAST_DAY(TO_DATE(S1.DATE2021)), 'DD') AS LAST_DAY FROM ( SELECT '20210101' AS DATE2021 FROM DUAL UNION ALL SELECT '20210201' AS DATE2021 FROM DUAL UNION ALL SELECT '20210301' AS DATE2021 FROM DUAL UNION ALL SELECT '20210401' AS DATE2021 FROM DUAL UNION ALL SELECT '20210501' AS DATE2021 FROM DUAL UNION ALL SELECT '20210601' AS DATE2021 FROM D.. 2021. 7. 11.
[Oracle / 오라클] Sub Query 서브쿼리 예제 [예제] 포인트 테이블에서 고객코드가 '2019000' 이후인 고객 중 포인트 합이 10,000 보다 큰 여성을 대상으로 고객코드, 고객명, 포인트 합계를 검색 - 출처 : 하루10분 _SQL 1) 포인트 테이블에서 고객코드가 '2019000' 이후인 고객 중 포인트 합 SELECT S1.CUSTOMER_CD, S1.TOT_POINT FROM (SELECT CUSTOMER_CD, SUM(POINT) TOT_POINT FROM TB_POINT WHERE CUSTOMER_CD >= '2019000' GROUP BY CUSTOMER_CD) S1 WHERE S1.TOT_POINT >10000; 2) 여성을 대상으로 조건 추가 SELECT S2.* FROM( SELECT S1.CUSTOMER_CD, S1.TOT_.. 2021. 5. 31.