[C/C++] DECODE

Hyo Kyun Lee·2022년 8월 18일
0

C/C++

목록 보기
12/23

1. DECODE 개요

Oracle query에서 분기함수(if~else~)를 사용하고자 할 때 활용하는 함수로, 말 그대로 분기처리를 위해 사용한다.

2. 사용방법

DECODE(variable1, variable2, a, b)

variable1과 variable2가 같다면 a를 출력하고, 다르다면 b를 출력하라.

만약 where절에서 사용한다고 할 경우,

WHERE 1=1
	COLUMN = DECODE(:variable, '000', COLUMN, :variable);

입력받은 variable이 '000'이라면 COLUMN=COLUMN의 조건이 되어 해당 조건 상관없이 모든 결과를 출력한다.
반대로 특정 입력값이 존재한다면 COLUMN = variable의 조건이 되어 해당 조건대로 where 절이 처리된다.

※ 이때 where 1=1은 조건이 많을때 AND로 인한 가독성 저하를 방지하고자, 1=1 입력 후 아랫줄부터 조건을 나열한다. 동일한 들여쓰기를 통해 나열된 조건들의 가독성을 높이기 위한 일종의 장치이다.

3. 참고자료

DECODE - https://m.blog.naver.com/regenesis90/222182177281

0개의 댓글