database
일반 함수는 어디에 쓰는 걸까?
데이터 타입 구분 없이 사용할 수 있는 함수
오라클을 사용하다 보면 NULL 값을 다른 함수로 치환해 주어야 하는 경우가 많은데
그럴 때 쓰는 함수
컬럼값이 NULL이면 연산할 때 그 컬럼은 제외된다.
이것은 COUNT, AVG 등 연산에서 치명적인 오류를 발생할 수 있는데
NULL인 컬럼은 제외되기 때문에 COUNT 연산에서 제외된다.
그래서 반드시 NULL 처리를 해줘야 한다.
NVL(칼럼, null일 경우 반환값)
- null 값이 올 때 지정한 값으로 대체하라
- null 값이 아니면 원래 지정한 값이 나오고 null 값이면 지정한 다른 실제 값으로 나온다
- 사용할 수 있는 데이터 유형은 날짜, 문자, 숫자
★단, 데이터 유형이 일치해야 한다
NVL2('칼럼','NULL이 아닐 경우 반환값 1','NULL 일 경우 반환값 2')
NVL2 함수는 null이 아닌 경우 반환값 1을 출력하고, null인 경우 반환값 2 출력한다.
※해당 컬럼의 값이 null 값인 경우 특정값으로 출력하고 싶으면 NVL 함수를 사용하고,
null 값이 아닐 경우 특정값으로 출력하고 싶으면 NVL2 함수를 사용하면 된다.
- exp1값과 exp2값이 동일하면 NULL을 그렇지 않으면 exp1을 반환
인자가 정해져 있지 않다
원하는 대로 인자를 넣을 수 있다
입력받은 값 중에서 null 값이 아닌 첫 번째 표현식을 출력
DECODE(기준값, 비교값, 출력값, 비교값, 출력값)
조건에 따른 값 선택하기
프로그래밍 언어에서 사용하는 if 문이 나 case 문으로 표현되는 복잡한 알고리즘을
오라클 sql 안으로 가져온 함수다.
예를 들어 이런 예문이 있다면
a가 1일 경우 ‘1’을 출력하고, 아닐 경우‘2’를 출력
---a와 b가 같으면 1, a와 c가 같으면 2, 나머지는 3을 출력
ㅣ읽느라 수고 많으셨어요~ㅣ
부족한 글을 읽어주셔서 감사드립니다
아직 부족한 게 많으니
틀린 곳이 있다면
조언의 말씀 꼭 부탁드립니다!!!!
[데이터베이스]_오라클 DB SQL쿼리문 문제 예제 (2) (0) | 2020.08.01 |
---|---|
[데이터베이스]_오라클 DB SQL쿼리문 예제 문제 (1) (1) | 2020.07.22 |
[데이터베이스]db_형 변환 함수(function) 뽀개기 (0) | 2020.07.05 |
데이터베이스 서버(데이터베이스관리시스템 DBMS) 설치하는 방법 (0) | 2020.06.25 |
[데이터베이스] 골치아픈 함수(function) 한 방에 정리하기 (0) | 2020.06.14 |