어떠한 일을 수행하는 기능으로써 주어진 인수를 재료로 처리를 하여 그 결과를 반환하는 일을 수행한다
함수의 종류
단일행 함수
하나의 row 당 하나의 결과값을 반환하는 함수
복수행 함수
여러개의 row 당 하나의 결과값을 반환하는 함수
CONCAT(칼럼명,'붙일문자') => 문자열 연결함수
SQL> SELECT CONCAT(ename,'님')from emp; SQL> select concat(ename,'님') name from emp; SQL> ~님 ~님 ~님
UPPER('문자열') => 문자열을 대문자로 바꿔준다
SQL> select upper ('hello!') from dual; SQL> HELLO!
LOWER('문자열') => 문자열을 소문자로 바꿔준다
SQL> select lower ('HELLO!')from dual; SQL> hello!
LPAD('문자열', 전체 자리수, '남는 자리를 채울 문자') => 왼쪽에 채운다
SQL> select lpad('HI',10,'*')from dual; SQL> ********HI
RPAD('문자열', 전체 자리수, '남는 자리를 채울 문자') => 오른쪽에 채운다
SQL> select rpad('HELLO','15','^')from dual; SQL> HELLO^^^^^^^^
REPLACE('문자열1','문자열2','문자열3')
=> 문자열1에 있는 문자열 중 문자열2를 찾아서 문자열3으로 바꿔준다SQL> select replace('hello mimi','mimi','mama')from dual; SQL> hello mama
SUBSTR('문자열',N1,N2)
=> 문자열의 N1번째 위치에서 N2개 만큼 문자열 빼오기SQL> select substr('ABCDEFGHIJ',3,5)from dual;
ex> emp 테이블에서 ename(사원이름)의 두번째 문자가 'A'인 사원의 이름을 출력한다면?
SQL> select ename
from emp
where substr(ename,2,1)='A';
= SQL> select ename
from emp
where ename like '_A%';
SUBSTR('문자열',N1,N2)
=> 문자열의 N1번째 위치에서 N2개 만큼 문자열 빼오기SQL> select substr('ABCDEFGHIJ',3,5)from dual;
ASCII('문자') => 문자에 해당하는 ASCII 코드 값을 반환한다
=> 문자열의 N1번째 위치에서 N2개 만큼 문자열 빼오기SQL> select ascii('A')from dual;
LENGTH('문자열') => 문자열의 길이를 반환한다
=> 문자열의 N1번째 위치에서 N2개 만큼 문자열 빼오기SQL> select length('ABCDE')from dual; SQL> 5
ex> EMP 테이블에서 사원이름이 5자 이상인 사원들의 사번과 이름을 출력해보세요
SQL> select empno,ename
from emp
where length(ename) >= 5;
<14> LEAST('문자열1','문자열2','문자열3') => 문자열 중에서 가장 작은 값을 리턴한다
SQL> select least('AB','ABC','D')from dual; SQL> AB
<15> IFNULL(컬럼명,값) => 해당 칼럼이 NULL인 경우 정해진 값을 반환한다
SQL> select ename,IFNULL(comm,O) from emp; SQL> select ename,IFNULL(comm,100) C from emp; (100씩 커미션 주기)