. DUAL 테이블
: DUAL 테이블이란 SYS 사용자가 소유하는 테이블이며 모든 사용자가 사용할 수 있다.
한 행으로 결과를 출력하기 위한 테이블이다.
산술 연산이나 가상 컬럼 등의 값을 한번만 출력하고 싶을 때 많이 사용한다.
특정한 테이블을 생성할 필요없이 dual 테이블을 이용하여
한 줄의 값을 리턴받을 수 있다.
ex) SELECT 24 * 50 FROM DUAL;
ex) SELECT sysdate-1 어제, sysdate 오늘, sysdate+1 내일 from dual;
. 오라클 함수
. 숫자함수
구분 설명
ABS 절대값을 구함
COS 코사인 값을 반환
EXP 지수 값을 반환
FLOOR 소숫점 아래를 잘라냄
LOG LOG값 반환
POWER POWER(n, t) => n에 t승 값을 반환
SIGN n < 0 => -1, n = 0 => 0, n > 0 => 1을 반환
SIN 사인 값 반환
TAN 탄젠트 값 반환
ROUND 특정 자릿수에서 반올림
TRUNC 특정 자릿수에서 잘라냄
MOD 나머지를 구함
CEIL 무조건 반올림
. 문자 함수
구분 의미
LOWER 소문자로 변환
UPPER 대문자로 변환
INITCAP 첫 글자만 대문자로 변환하고 나머지는 소문자로 변환
CONCAP 문자의 값을 연결
SUBSTR 문자를 원하는 곳에서 잘라 추출(문자 단위)
SUBSTRB " " 바이트 단위
LENGTH 문자열의 길이 반환
LENGTHB 문자열의 길이 반환(바이트 단위)
INSTR 특정 문자의 위치 값을 반환
INSTRB 바이트 단위
LPAD, RPAD 입력받은 문자열과 기호를 정렬하여 특정 길이의 문자열로 반환
TRIM 잘라냄
CONVERT CHAR SET 을 반환
CHR ASCII Code 값으로 반환
ASCII ASCII Code 값을 문자로 변환
REPLACE 문자열에서 특정 문자열로 변경
.SUBSTR
: 대상 문자열이나 컬럼의 자료에서 시작 위치부터 선택 개수만큼의 문자를 추출한다.
ex) 인덱스 4부터 시작해서 문자 3개를 추출하는 쿼리문
(오라클에서 인덱스는 0이 아닌 1부터 시작한다.)
ex) SELECT SUBSTR('Welcome To Oracle', 4, 3) FROM DUAL;