null 관련 함수
nvl(a , '값') : a가 null 이면 값을 반환한다.
nvl2(a , '값1', '값2') : a가 null 이면 값1 아니면 값2 를 반환한다.
nullif ( a, b) : a 와 b 가 동일하면 null 을 반환하고 그렇지 않으면 a 값을 반환한다.
lanvl ( 조건 ) : 조건이 참이면 거짓 그렇지않으면 참을 반환한다.
coalesce( 컬럼1, 컬럼2 ,컬럼3,... ) : 컬럼1 이 null 아니면 컬럼1을 반환하고 끝
컬럼1이 null 일 경우 컬럼2 가 null 이 아니면 컬럼2 를 반환. 이런식 으로 마지막 컬럼 까지 진행된다 순차적으로 null 체크를 한다. 반환이 되는 컬럼이후의 컬럼은 null 체크를 하지 않는다.
기타 함수
decode() 함수 : null 이 아닌 값을 비교하여 반환하는 함수
예)
select name,decode(substr(id_number, 8, 1), '1', '남','2','여')
from student;
결과)
김대현 남
신지애 여
이정민 여
박주영 남
한영삼 남
서희경 여
설명)
student 테이블에서 id_number 즉 주민등록번호 정보를 추출 하여 1 일경우 남을 출력 2일경우 여를 출력함
case() 함수 : 값의 조건만족 여부에 따라 특정 값을 출력한다.
문법)
case 값 when 비교값이나 범위 then 반환값
when 비교값이나 범위 then 반환값'
when 비교값이나 범위 then 반환값
else 기본값
end
위 문법이 select 절에 컬럼부분에 기술된다.
예)
select (select name from student where student_id = t1.student_id ) "이름",
case when score between 90 and 100 then 'A'
when score between 80 and 89 then 'B'
when score between 70 and 79 then 'C'
when score between 60 and 69 then 'D'
when score between 0 and 59 then 'F'
end "학점" , course_id "과목코드"
from SG_Scores t1;
결과)
이정민 A L1011
박주영 B L1011
이정민 B L1012
박주영 A L1012
한영삼 A L1031
서희경 A L1031
한영삼 C L1032
서희경 A L1032
이정민 A L1021
박주영 B L1021
이정민 A L1022
박주영 B L1022
한영삼 B L1041
서희경 A L1041
한영삼 B L1042
서희경 A L1042
이정민 B L1031
박주영 C L1031
이정민 A L1032
박주영 A L1032
한영삼 B L1051
서희경 C L1051
한영삼 B L1052
서희경 B L1052
이정민 A L1041
박주영 B L1041
이정민 (null) L1042 % 105점 이라서 범위에 없을 경우 null 값이 들어간다.
박주영 A L1042
한영삼 D L0011
서희경 A L0011
피드 구독하기:
댓글 (Atom)
[oracle]백업및 복구
[oracle]백업및 복구 오라클 덤프 백업및 복구 윈도우 서버 기반 간단 정리 --디렉터리 조회 sqlplus 또는 dbtool 입력시작 SELECT * FROM DBA_DIRECTORIES ; --D:...
-
수십대의 서버에 특정 쉘을 실행한다거나 파일을 수정해야할경우 호스트 입력 아이디 입력 패스워드 입력은 여간 짜증나는일이 아닐수 없다. 이를 한방에 해주는 방법 teraterm 를 설치한다( putty 는 버리자 ) 예를 들면 19...
-
pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId...
-
notice_state 란 이름의 체크박스가 있다 가정하고 $("input[name=notice_state]").bind("click",false); 끝.
댓글 없음:
댓글 쓰기