오라클 강의자료 2011.09.06 (쌍용교육센터)
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;