◆ Null에 대한 처리 ◆
1. Null과 관련된 함수
ㄱ. nvl 함수
형식: select nvl(x, y)
X값이 null일 경우 Y로 출력하고, null이 아닐 경우 X값 대로 출력하게함.
nvl(commission_pct, 0) as "수당 퍼센트2",
nvl(salary * commission_pct, 0) as "수당",
(salary + nvl(salary * commission_pct, 0)) * 12 as "연봉"
from employees;
※ select에서 기입되는 컬럼명의 최종 출력 컬럼명을 별명처리로 위의 그림(예제2)처럼 바꿀수 있다.(as는 생략가능)
※ 다만 별명안에 공백이 있을 경우 "" 가 반드시 있어야 함
권장 ex: select employee_id as "사원번호"
ex: select employee_id "사원번호"
ex: select employee_id 사원번호
ㄴ. nvl2 함수
형식: select nvl2(x, y, z)
X값이 Null이면 Y값 출력, X값이 Null이 아니면 Z값 출력
ㄷ. coalesce 함수
형식: select coalesce(A, B, C, D)
A가 Null이 아닐경우 A 출력,
A가 Null일 경우, B 출력,
B가 Null일 경우, C 출력,
C가 Null일 경우, D 출력,
D가 Null일 경우, Null 출력
coalesce(null, 1, 2, 3),
coalesce(null, null, 2, 3),
coalesce(null, null, null, 3),
coalesce(null, null, null, null)
from dual;
- where 절에서 null로 데이터를 구할때 = 연산자 대신 is 혹은 is not 으로 사용
(null 이 존재하지 않는 데이터이기 때문에 = 연산자는 처리가 되지 않아 실행 불가)
from employees
where commission_pct is null;
from employees
where commission_pct is not null;
- || (백스페이스키 왼편에 붙은 키를 쉬프트키를 누른상태에서 입력)
결과물에서 여러개의 다른 컬럼을 한개의 컬럼으로 합하여 표시하고자 할때 사용.
||의 경우 2개 이상이 가능하므로 이것을 주로 사용.
- concat: ||와는 다르게 2개의 컬럼까지만 가능
- distinct: 결과물중 행 데이터가 동일할 경우 한개만 출력하는 명령
- 데이터 타입중 문자 및 날짜 타입은는 좌(왼)측 정렬
- 데이터 타입중 숫자 타입은 우(오른)측 정렬
◆ like 연산자 ◆
- like는 = 연산자와 비슷한 기능을 가짐.
- like연산자는 = 연산자와는 다르게 Wild Character 인 %, _를 사용하여 보다 구체적인 조건을 사용할 수 있다.
- %: 글자가 있고 없고 관계없이 모든 글자를 뜻함
- _: 글자가 무엇이든 상관없이 1글자를 뜻함
- escape: like 연산자를 사용할때 데이터내 % 문자가 와일드캐릭터로 인식되어 정확한 데이터 추출이 불가능할때 한글자 단위로 사용함
(escape 사용할때 탈출 문자는 아무거나 가능하나 보통 \를 사용함)
'Oracle > 기본문법' 카테고리의 다른 글
WRITTEN BY