[Oracle] sqlplus 함수

(1) 수치 함수


SQL> select abs(-15) from dual;

--> 절대값을 반환한다.


SQL> select ceil(15,7) from dual;

--> 천정값을 반환한다.


SQL> select mod(11,4) from dual;

--> 나머지값을 반환한다.


SQL> select power(2,3) from dual;

--> 제곱승을 반환한다.


SQL> select round(3.2111, 2) from dual;

--> 소숫점 2번째 자리까지 반올림하여 반환한다.


SQL> select sqrt(9) from dual;

--> 제곱근을 반환한다.


SQL> select trunc(15.12, 1) from dual;

--> 소수점 1번째 자리에서 버림한다. 두번째 변수를 음수로 넣어주면 정수자리 표현.


(2) 문자 함수


SQL> select concat('welcome','to oracle') from dual;

--> 문자를 합쳐준다.


SQL> select initcap('oracle') from dual;

--> 첫글자를 대문자로 바꿔준다.


SQL> select lower('ORACLE') from dual;

--> 모든 글씨를 소문자로 바꿔준다.


SQL> select upper('oracle') from dual;

--> 모든 글씨를 대문자로 바꿔준다


SQL> select substr('oracle',2,4) from dual;

--> 2번째 글짜앞 부분은 잘라내고 그 뒤로 4개까지 리턴한다


SQL> select length('oracle') from dual;

--> 글자의 길이를 리턴한다.


SQL> select lpad('oracle',10,'-') from dual;

--> 크기를 정하고 남는 왼쪽부분을 - 로 채운다.


SQL> select rpad('oracle',10,'-') from dual;

--> 크기를 정하고 남는 오른쪽부분 - 로 채운다


SQL> select ltrim('ababacabab','ab') from dual;

--> 왼쪽부터 검사해서 a와 b중 같으면 지우고 다르면 멈춘다.


SQL> select rtrim('ababcabab','ab') from dual;

--> 오른쪽부터 검사해서 a와 b중 같으면 지우고 다르면 멈춘다.


SQL> select trim('ababcabab','a') from dual;

--> 양쪽에서 a를 찾아 지운다.


SQL> select trim(leading 'a' from 'ababcabab') from dual;

--> Ltrim과 같음


SQL> select trim(trailing 'a' from'ababcabab') from dual;

--> Rtrim과 같음


SQL> select translate('abcdcba','abc','xyz') from dual;

--> a대신 x를 , b대신 y를 , c대신 z를 리턴한다.


SQL> select REPLACE('Welcome to Oracle','Welcome','Thanks') from dual;

--> 문자열을 대체하여 리턴한다.


(3) Date 함수


SQL> select sysdate from dual;

--> 데이터베이스의 현재 시간을 리턴한다.


SQL> select current_date from dual;

--> 세션의 현재 시간을 리턴한다.


SQL> select last_day(to_date('2011-02-14') from dual;

--> 해당날짜가 속한 날의 마지막 날짜를 리턴한다.


SQL> select next_day(sysdate,'Wed') from dual;

--> 해당일 이후에 지정된 요일의 날짜를 리턴한다.


(4) 변환함수


SQL> select hiredate, to_char(hiredate, 'YYYY YYYY YYYY') from emp;

--> 날짜를 문자형으로 변환하여 포맷과 동일하게 리턴한다.


SQL> select to_date(20110711, 'RRRR MM DD') from dual;

--> 숫자를 날짜형으로 변환하여 리턴한다.


SQL> select sal, to_char(sal, '$000,000.00'), to_char(sal, 'L999,999,99', 'nls_currency=\') from emp;

--> 화폐의 단위를 직접 지정해 리턴하거나 currency를 지정하여 리턴하는방법


(5) General 함수


SQL> select nvl(comm, 0) from emp;

--> comm값이 null 이면 0을 리턴


SQL> select nvl2(comm, sal, sal+comm) from emp;

--> comm이 null이면 sal을 아니면 sal+comm을 리턴


SQL> select nullif(a, b) from t1;

--> a값과 b값이 같으면 null을 리턴하고 다르면 a값을 리턴한다.


SQL> select a,b,c coalesce(a,b,c,0) d from t1;

--> d 컬럼에 a값, a가 null이면 b값, b가 null이면 c값, 모두 null이면 0을 리턴한다.


SQL> select decode(deptno, 10, sal*1.2, 20, sal*1.5, sal) from emp;

--> deptno가 10이면 sal*1.2를 20이면 sal*1.5를 나머지는 sal을 리턴한다.

(나머지(defaul)값을 정해주지 않으면 null이 리턴된다.)


(6) 그룹함수


SQL> select count(empno) from emp;

--> null값을 제외한 row 갯수를 리턴한다.


SQL> select avg(sal) from emp;

--> 평균값을 리턴한다.

cf. 널값이 있는 경우 평균 계산을 주의하자

--> select avg(comm), avg(nvl(comm,0)) from emp;


SQL> select sum(sal) from emp;

--> 합계를 리턴한다.


SQL> select min(sal) from emp;

--> 최소값을 리턴한다.


SQL> select max(sal) from emp;

--> 최대값을 리턴한다.


SQL> select stddev(sal) from emp;

--> 표준편차를 리턴한다.


SQL> select variance(sal) from emp;

--> 분산값을 리턴한다.

댓글(0)

Designed by JB FACTORY