'RTRIM'에 해당되는 글 1건

  1. 2008.01.14 Oracle PL/SQL 함수정리
posted by 권오성의 Biomedical Engineering 2008. 1. 14. 18:53

===============================================================================
※ 수치함수
===============================================================================

▣ 소수점 아래 n자리수가 되게 column, expression 또는 value를 반올림
ROUND(column/value, n)
 ex) ROUND(45.923, 2) ☞ 45.923을 소수점 두자리까지 반올림하여 45.92를 리턴

▣ 소수점 아래 n자리수가 되게 column이나 value를 절삭. n이 음수면 소수점 왼쪽수치 0으로 절삭
TRUNC(column/value, n)
ex) TRUNC(45.923)  ☞ 45.923 소수점 아래를 절삭하여 45를 리턴

▣ 해당 컬림이 NULL이면 express-2의 값을, NULL이 아니면 express-1의 값을 리턴
NVL2(Column, Express1, Express2)
ex) select sal, nvl2(comm, comm, 0)
        from emp
     where deptno = 30);

▣ 정의된 컬럼의 값이 NULL인 경우 지정한 값으로 대체하는 기능
NVL(Column, Express1)
ex) select sal, nvl(comm, 0)
        from emp
     where deptno = 30);


===============================================================================
※ 문자함수
===============================================================================


◈ column이나 문자상수 value로부터 위치번호 pos에서 시작하여 n문자 길이의 스트링을 리턴,
만약 n이 생략되었다면, 스트링은 pos로부터 column이나 문자상수 value의 끝까지를 가져온다.
SUBSTR(column/value, pos, n)
ex) SUBSTR(ename, 2, 3) ☞ ENAME의 2번째 위치에서부터 3자리를 리턴한다.

◈ 숫자 75를 문자값으로 변환합니다.
SQL> select chr(75) from dual;

CHR(75)
--------
K

◈ 2개의 문자값을 결합합니다.
SQL> select concat(concat(ename, ' is a '), job) from emp;

CONCAT(CONCAT(ENAME,'ISA'),JOB)
--------------------------------------------------
SMITH is a CLERK
ALLEN is a SALESMAN
...................................................

◈ 정의된 문장 단어의 첫 번째 문자를 대문자로 변환
SQL> select initcap('the soap') from dual;

INITCAP('THESOAP
----------------
The Soap

◈ 정의된 문장을 모두 소문자로 변환합니다.
SQL> select lower('MR. samuel hillhouse') from dual;

LOWER('MR.SAMUELHILLHOUSE')
----------------------------------------
mr. samuel hillhouse

◈ 정의된 문장을 모두 대문자로 변환합니다.
SQL> select upper('mr. SAMUEL hillhouse') from dual;

UPPER('MR.SAMUELHILLHOUSE')
----------------------------------------
MR. SAMUEL HILLHOUSE


===============================================================================
※ 기타함수
===============================================================================


◎  PL/SQL에서 사용되는 IF-THEN-ELSE 문장과 유사한 방법으로 해독
DECODE함수는 각각의 search 값과 비교한 다음에 표현식(expression)을 해독
만약 표현식이 Search와 같으면, result를 리턴한다.
DECODE(expression, search, result, default)
ex)select ename
             ,deptno
             ,decode (deptno, 10, 'AC'
                                     ,20, 'RE'
                                     ,30, 'SA'
                                     ,40, 'OP',
                                           'NONE')
       from emp;

◎ 해당날짜가 속한 달의 마지막 날짜를 반환합니다.
LAST_DAY(sysdate)....
ex)select sysdate today
            , last_day(sysdate)
        from dual;