Database/Oracle

오라클 강의자료 2011.09.06 (쌍용교육센터)

Leonardo Go 2011. 9. 6. 19:39


9월 6일 화요일 (내장함수)
   단일행
       문자함수
         ==문자변환==
            INITCAP('emp') ==> Emp 첫번째 알파벳을 대문자 변환
            LOWER('EMP') ==> emp 소문자 변환
            UPPER('emp') ==> EMP 대문자 변환
         ==문자길이==
            LENGTH('홍길동') ==> 3 글자갯수
            LENGTHB('홍길동') ==> 6 바이트수(한글바이트 2byte)
         ==문자조작==
            CONCAT('sql','plus') ==> sqlplus 문자열결합
            SUBSTR('sql*plus',5,4) ==> plus(5번째 문자열부터 4개) 문자 일부 추출
            INSTR('sql*plus','*') ==> 4 특정문자의 위치값 반환(*의 위치값)
            LPAD('sql',5,'*') ==> **sql (5개의 문자열로 만들고 빈공간은 *로 채움) 오른쪽 정렬후에 문자를 삽입
            RPAD('sql',5,'*') ==> sql**  왼쪽 정렬후에 문자를 삽입
            LTRIM('*sql','*') ==> sql 왼쪽의 요청한 문자제거
            RTRIM('sql*', '*') ==> 오른쪽의 요청한 문자제거
       숫자함수
            ROUND(123.17,1) ==> 123.2 지정한 자리이하에서 반올림
            TRUNC(123.17,1) ==> 123.1 지정한 자리이하에서 절삭
            MOD(10,7) ==> 3 나머지 값
            CEIL(123.17) ==> 124 지정한 값보다 큰 수 중에서 가장 작은 정수
            FLOOR(123.17) ==> 123 지정한 값보다 작은 수 중에서 가장 큰 정수
       날짜함수
            SYSDATE ==> 시스템 시간
       변환함수
            TO_CHAR ==> 숫자/날짜를 문자로 변환
            TO_NUMBER ==> 문자열을 숫자로 변환
            TO_DATE ==> 문자열을 날짜로 변환
        일반함수
             NVL ==> null값을 다른 문자열/숫자로 변환
        복수행(전부외우기)
             max, min, sum, avg, rank, decode, case, count
★ 실 습 ★
       select ename, INITCAP(ename), LOWER(ename) from emp;
       select empno, INITCAP(ename), hiredate from emp;
       select * from emp where ename=UPPER('king');
   문자열 길이관련(LENGTH, LENGTHB)
       select LENGTH(ename) "문자수", LENGTHB(ename) "바이트수" from emp;
       select LENGTH('심청이'), LENGTHB('심청이') from dual;

   emp테이블에서 이름이 5자인 사람들만 출력
        select * from emp where LENGTH(ename)=5;
   문자조작
        SUBSTR
             select ename, SUBSTR(hiredate,4,2) from emp;
        INSTR
             select ename, INSTR(ename,'S') from emp;
        LPAD, RPAD
             select ename, LPAD(ename,7,'*'), RPAD(ename,7,'*'), hiredate from emp;
        RTRIM, LTRIM
             select ename, LTRIM(ename,'S'), RTRIM(ename,'S') from emp;