ORACLE PL/SQL 검색어 +/- 연산자 구현
ORACLE PL/SQL +/- 검색어 연산자 구현 DECLARE V_SQL_SEARCH varchar2(20000):=''; CURSOR SEARCH_STR_LIST (V_SEARCH_STR VARCHAR2) IS SELECT NVL(OPT_STR,SEARCH_STR) AS SEARCH_STR, R_RN FROM ( SELECT STR, OPT_STR, ROW_NUMBER() OVER (ORDER BY LV1, LV2 DESC) AS RN FROM ( SELECT ' '||V_SEARCH_STR||' ' AS STR, '' AS OPT_STR, 3 AS LV1, 0 AS LV2 FROM DUAL UNION ALL SELECT STR, SUBSTRB(STR, ST,ED-ST) AS OPT_STR, 2 A..
더보기
ORACLE 동호배치도 출력 쿼리 작성
ORACLE 동호배치도 출력 쿼리 작성 WITH DONG_HO AS ( SELECT /*+ MATERIALIZE*/ DONG -- 동 , LPAD(FLOOR,2,'0')||LINE AS HO_NO -- 호 , FLOOR -- 층 , LINE -- 열 FROM ( SELECT '101' AS DONG, 1 AS FLOOR, '04' AS LINE FROM DUAL UNION ALL SELECT '101' AS DONG, 2 AS FLOOR, '01' AS LINE FROM DUAL UNION ALL SELECT '101' AS DONG, 2 AS FLOOR, '02' AS LINE FROM DUAL UNION ALL SELECT '101' AS DONG, 2 AS FLOOR, '03' AS LINE FRO..
더보기
ORACLE DENSE_RANK 활용 세로데이터를 그룹별 비교 가능한 가로로 펼치기
ORACLE DENSE_RANK 활용 세로데이터 -> 그룹별 비교 가능한 가로로 펼치기 WITH TEMP AS ( SELECT '1' AS GRP, 'A' AS GB, 'A_01' AS ITEM, 1 AS QN FROM DUAL UNION ALL SELECT '1' AS GRP, 'A' AS GB, 'A_01' AS ITEM, 2 AS QN FROM DUAL UNION ALL SELECT '1' AS GRP, 'B' AS GB, 'B_01' AS ITEM, 3 AS QN FROM DUAL UNION ALL SELECT '2' AS GRP, 'A' AS GB, 'A_01' AS ITEM, 4 AS QN FROM DUAL UNION ALL SELECT '2' AS GRP, 'A' AS GB, 'A_02' A..
더보기
Oracle - 전환보증금(하한보증금) 한도 계산 Query
전환보증금(하한보증금) 한도 계산 WITH T AS ( SELECT 1 NO , 12333000 GMY , 120000 RFE FROM DUAL UNION ALL SELECT 2 , 22330000 , 220000 FROM DUAL ) SELECT NO , GMY , RFE , CNV_GMY , CNV_RFE , APL_GMY , APL_RFE , PRE_GMY , DFR_GMY , DECODE(ORDER_NUM, 1, 'OK') OK FROM ( SELECT T2.* , APL_GMY-PRE_GMY DFR_GMY , ROW_NUMBER() OVER (PARTITION BY NO ORDER BY CASE WHEN APL_GMY-PRE_GMY < 0 THEN NULL ELSE APL_GMY-PRE_GMY ..
더보기