관리 메뉴

공부한것들을 정리하는 블로그 입니다.

실제 사용하는 DB쿼리 응용 본문

DB 공부

실제 사용하는 DB쿼리 응용

호 두 2022. 1. 15. 15:38
반응형

개인보관용


* DATE형식의 컬럼 비교시에는 날짜 형식을 별도로 지정하지 않고 정규식으로 숫자만 남긴 후 변환하여 비교
NO_DT <= DECODE(:no_dt, NULL, SYSDATE, TO_DATE(REGEXP_REPLACE(:no_dt, '[^0-9]'), 'YYYYMMDD'))

* SQL조건이 optional 한 경우에는 decode문을 활용하여 처리
where DECODE(:num, null, '1', NUM) = DECODE(:num, null, '1', :NUM)

 

* DECODE 반복 최소화

#BEFORE

SELECT SUM( DECODE( market, 'D',
DECODE(type, '1', DECODE(unit 'A', 0.2*col,
                                         'B', 0.5*col, ......
#AFTER
SELECT SUM( DECODE( market || type || unit, 'D1A', 0.2, 'D1B', 0.5 ...) *col)

 

 

반응형
Comments