오라클 함수
우리가 쿼리를 작성 할 때 가장 중요한 것이 함수이다.
왜냐하면 쿼리 여러문장을 함수 하나로 해결되기 때문이다. 함수는 문장의 길이를 간략히해주며 속도도 빠르게 해주기 때문에 함수를 많이알아야 쿼리를 작성할 때 유용하다.
그래서 이번엔 자주 사용하는 함수들에 대해 정리해보도록하자.!
EMP 테이블
empno |
ename |
job |
mrg |
hiredate |
sal |
comm |
deptno |
7369 |
smith |
clerk |
7902 |
1980-12-17 |
800 |
NULL |
20 |
7499 |
allen |
salesman |
7698 |
1981-02-20 |
1600 |
300 |
30 |
7521 |
ward |
salesman |
7698 |
1981-02-22 |
1200 |
500 |
30 |
< 집계 함수 >
max(column) - 최대값을 구하는 함수 ex. select max(sal) from emp => 1600
min(column) - 최소값을 구하는 함수 ex. select min(sal) from emp => 800
avg(column) - 평균값을 구하는 함수 ex. select avg(sal) frop emp => 1200 |
sum(column) - 합계를 구하는 함수 ex. select sum(sal) from emp => 3600 |
count(*) - 총 레코드 수를 세는 함수, null값도 포함 ex. select count(*) from emp => 3 count(컬럼명) - 컬럼명을 기준으로 총 레코드 수를 세는 함수, null값은 제외 ex. select count(comm) from emp =>2 |
< 문자열 함수 > |
lower('Hello World') - hello world, 해당 컬럼의 값을 소문자로 변환하는 함수 upper('Hello World') - HELLO WORLD, 해당 컬럼의 값을 대문자로 변환하는 함수 |
inicap('go go go!') - Go Go Go!, 첫글자와 공백이후 첫글자는 대문자로 변환하는 함수 |
concat('Helllo', 'World') - Hello World, 두 개의 문자열을 연결하는 함수 |
substr('HelloWorld', 6) - World, 문자열의 6번째자리부터 전체를 추출 substr('HelloWorld', 1, 5) - Hello, 문자열의 1번째자리부터 5자까지 추출하는 함수 |
length('oracle') - 6, 문자열으 총 길이를 세는 함수 |
instr('HelloWorld', 'W') - 6, 문자열에서 특정문자의 위치를 세는 함수,만약 특정문자가 문자열에 없다면 0 반환 |
lpad('SQLPLUS', 10, '*') - ***SQLPLUS, 우측부터 해당길이에 부족한 부분은 특정문자로 채우는 함수 rpad('SQLPLUS', 10, '*') - SQLPLUS***, 좌측부터 해당길이에 부족한 부분은 특정문자로 채우는 함수 |
trim(' SQLPLUS') - SQLPLUS, 공백을 제거하는 함수 ltrim('*SQLPLUS', '*') - SQLPLUS, 좌측부터 문자열에서 해당 문자를 제거하는 함수 rtrim('SQLPLUS*', '*') - SQLPLUS, 우측부터 문자열에서 해당 문자를 제거하는 함수 |
replace('SEVL TL', 'L', 'EN') - SEVEN TEN, 문자열에서 해당 문자를 다른 문자로 바꾸어주는 함수 |
nvl(expr1, expr2) - expr1이 null이면 expr2 값으로 반환하는 함수 |
nvl2(expr1, expr2, expr3) - expr1과 null1을 비교해 null이 아니면 expr2, null이면 expr3을 반환하는 함수 |
nullif(expr1, expr2) - expr1과 expr2를 비교하여 같으면 null, 다르면 expr1을 반환하는 함수 |
coalesce(expr1, expr2, ... exprn) - expr1~exprn 목록에서 첫번째로 null이 아닌 expr을 반환 |
단일행 함수 - 하나의 행 당 하나의 결과 값을 반환하는 함수
- 문자 함수, 숫자 함수, 날짜 함수, 변환 함수
복수행 함수 - 여러개의 행을 하나의 결과값을 반환하는 함수
- count, sum, min, max, avg
이상 집계함수와 문자열 함수에 대해 알아보았다.
자주 사용하는 함수들이기 때문에 외워두고 공부하면서 많이 사용해보는것이 도움이 될 것 같다.
다음엔 숫자함수와 날짜 함수에 대해.!
'SQL > ORACLE함수' 카테고리의 다른 글
오라클 함수2 (0) | 2014.06.11 |
---|---|
[Oracle_SQL/오라클] (with, replace)함수 동시 활용 (0) | 2014.06.11 |
Oracle | 누적합계(단계별 합계) 구하기 (0) | 2014.06.11 |
Oracle | 오라클 함수 정리② (0) | 2014.06.11 |
특정 문자와문자 사이의 내용 짜르기 (0) | 2014.06.11 |
start with를 사용한 순환 쿼리(Tree 구조) (0) | 2014.06.11 |
[링크스크랩] 오라클 10g의 purge, flashback 기능 (0) | 2014.06.11 |
[SUM() OVER()] KEY값이 일치하는 항목 누적 합계 구하기 (0) | 2014.06.11 |